Khi nào thì mạng, quảng bá và cổng cần thiết để cấu hình giao diện mạng theo cách thủ công?


10

https://wiki.debian.org/NetworkConfiguration#Bridging_without_Switching

Các URL trên cho biết, sau đây. Nhưng nó không rõ ràng với tôi khi chúng là tùy chọn và khi nào thì không. Bạn có thể cung cấp cho tôi một số liên kết đến các tài liệu tham khảo mô tả điều này? Cảm ơn.

Nếu bạn định cấu hình thủ công thì một cái gì đó như thế này sẽ đặt cổng mặc định (mạng, quảng bá và cổng là tùy chọn):

auto eth0
iface eth0 inet static
    address 192.0.2.7
    netmask 255.255.255.0
    gateway 192.0.2.254

2
Trong các phiên bản Ubuntu gần đây, sử dụng dnsmasq, bạn cũng cần khai báo máy chủ tên DNS.
ớt555

@ chili555, hoạt động nếu bạn thêm gói giải quyết. Đọc câu trả lời của tôi dưới cái này ;-) Bạn có ổn với câu trả lời không, user1424739?
Anders

Tôi tin vào các phiên bản Ubuntu gần đây, độ phân giải được cài đặt theo mặc định; Không??
ớt555

1
Bạn có thể dành chút thời gian để xem lại câu trả lời của @Anders. Xem Tôi nên làm gì khi ai đó trả lời câu hỏi của tôi?
user.dz

@ chili555 Vâng, đúng vậy. Nhưng tôi chỉ muốn làm cho nó rõ ràng kết nối giữa gói đó và máy chủ dns trong / e / n / giao diện. Xin lỗi nếu tôi không rõ ràng.
Anders

Câu trả lời:


25

Làm cách nào để thiết lập địa chỉ IP tĩnh và tại sao

Để ý! Tôi không nói về các cách khác để thiết lập mạng như với NetworkManager. Bất kỳ thiết bị được đề cập trong /etc/network/interfaceskhông được chạm vào bởi NM

Để có thể giao tiếp qua mạng IP (IPv4 và IPv6), máy tính phải biết địa chỉ IP đó có địa chỉ IP nào. Vì vậy, addresschỉ thị là cần thiết để nói với máy tính rằng.

Khi máy tính muốn nói chuyện với máy tính khác, nó sử dụng địa chỉ IP của máy tính đó để kiểm tra xem máy tính đó có nằm trong cùng một mạng, LAN không. Nếu vậy, máy tính có thể giao tiếp trực tiếp với máy tính khác.

Vậy làm thế nào để máy tính biết khi nào nó đang giao tiếp với một máy tính trên cùng một mạng LAN? Bằng cách sử dụng các mạng netmask, trong đó phần mạng của địa chỉ được đặt thành mạng và phần máy chủ được đặt thành số không. Vì vậy, bằng cách thực hiện thao tác bitwise AND giữa mỗi bit trong địa chỉ IP và netmask, chúng ta sẽ nhận được địa chỉ mạng của địa chỉ IP, trong đó phần máy chủ bằng không. Vì vậy, nếu chúng ta thực hiện điều này trên địa chỉ IP của máy tính và địa chỉ IP của các máy tính khác, chúng ta sẽ nhận được từng địa chỉ mạng .. Nếu chúng bằng nhau, điều đó có nghĩa là các máy tính nằm trong cùng một mạng và có thể nói chuyện trực tiếp với nhau.

Nếu các địa chỉ mạng không bằng nhau, chúng nằm trên mạng LAN khác nhau và không thể liên lạc trực tiếp với nhau. Sau đó, máy tính cần sử dụng một máy tính đặc biệt được kết nối với các mạng LAN khác. Máy tính đó là một bộ định tuyến (cũng có thể có tường lửa và NAT). Vì vậy, khi máy tính muốn nói chuyện với các máy tính khác ngoài mạng LAN, nó cần biết địa chỉ của máy tính đó được đặt bằng lệnh gateway. Nếu một giao diện khác đã đặt gatewaygiá trị, bạn không và không nên đặt một lệnh cổng khác cho giao diện này. Lệnh gatewaynày đặt tuyến mặc định cho máy tính, vì vậy bạn chỉ cần một tuyến cho IPv4 và chỉ một tuyến cho IPv6 trên mỗi máy. Địa chỉ mạng này có thể được thiết lập thủ công với networkchỉ thị.

Đôi khi máy tính muốn liên lạc với tất cả các máy tính trong mạng LAN và nó sử dụng địa chỉ quảng bá. Địa chỉ này được nghe bởi tất cả các máy tính trong cùng một mạng LAN. Điều này về cơ bản giống như địa chỉ mạng, ngoại trừ phần máy chủ không phải là tất cả số không và thay vào đó là tất cả. Địa chỉ quảng bá này được đặt theo chỉ thị broadcasttrong giao diện.

networkĐịa chỉ giao diện chỉ cần được tính một lần và thường được tính chính xác từ đó addressvà các netmaskchỉ thị. Tương tự với broadcastđịa chỉ. Vì vậy, bạn không cần phải thiết lập chúng. Trong thực tế nếu bạn đặt một hoặc cả hai giá trị sai, bạn có thể mất kết nối với internet và các máy tính khác trong mạng LAN của mình. Vì vậy, trừ khi bạn có một số giá trị lạ trên chúng, hãy để máy tính tính toán chúng cho bạn.

Vì vậy, một cài đặt tĩnh tối thiểu, hoặc khổ thơ, /etc/network/interfacescó thể trông giống như thế này cho thiết bị eth1trong một mạng riêng:

iface eth1 static inet
     address   192.168.44.10
     netmask   255.255.255.0
     gateway   192.168.44.1

Cách giải quyết tên hoạt động và cách nó được gắn với DNS.

Tên miền được sử dụng để chuyển đổi giữa người dễ đọc và nhớ tên miền và máy tính không dễ nhớ địa chỉ IP, đã đề cập ở trên. Điều này được gọi là Giải quyết tên .

Điều này thường được kiểm soát bởi các tập tin /etc/nsswitc.confvà dòng bắt đầu với hosts:. Nếu bạn yêu cầu máy tính kết nối với máy tính my.example.com, nó sẽ xem xét tệp này và cố gắng giải quyết địa chỉ IP từ tên my.example.com. Tệp này không thực sự trả lời câu hỏi "IP nào my.example.com có", nó chỉ cho máy tính biết nơi nó có thể tìm thấy câu trả lời.
Thông thường, nó sẽ thử /etc/hoststệp đầu tiên cho các tên cục bộ tĩnh, sau đó avahi mDNScho các tên cục bộ động và sau đó là một bộ giải mã tên miền DNS để lấy tên từ internet.

Nếu một vài trong số này chậm trả lời câu hỏi của bạn, có vẻ như máy tính bị kẹt trong một thời gian. Vì vậy, nếu bạn nhận được điều đó, kiểm tra tên giải quyết đầu tiên.

Vì vậy, thêm địa chỉ tĩnh, bạn chỉ có thể thêm nó vào /etc/hoststập tin của bạn . Nhân tiện, nếu bạn có một địa chỉ tĩnh, có lẽ bạn nên thay đổi địa chỉ IP ở đó cho máy của bạn thành địa chỉ IP của bạn chứ không phải mặc định 127.0.1.1(trong mạng localnet có localhost, 127.0.0.1). Điều đó chỉ hoạt động tốt cho khách hàng và không cho máy chủ.

Các địa chỉ động bạn nhận được từ các máy Linux có avahigói và từ các máy của Apple (và MS Windows với iTunes?). Điều đó được xử lý bằng "ma thuật" và bạn sẽ không cần phải sửa nó.

DNS được sử dụng để truy cập internet và bạn cần thông báo cho máy tính biết các máy chủ DNS mà bạn muốn sử dụng là gì, địa chỉ IP nào sẽ được sử dụng và tên miền DNS mặc định của bạn là gì.

Điều này được thực hiện trong tệp /etc/resolv.confvà có thể được thiết lập tĩnh. Điều này không hoạt động tốt trong thế giới không tĩnh của chúng tôi, vì vậy thông thường bạn có một gói được gọi là resolvconfcài đặt. Điều này cho phép bạn thiết lập các cài đặt này trong /e/n/interfacestệp.

Vì vậy, nếu chúng tôi giả định rằng chúng tôi muốn thêm một trong các máy chủ DNS của Googles và máy chủ DNS 8.8.8.8của ISP 192.0.2.1và tên miền của bạn my.example.orglàm mặc định, bạn chỉ cần chỉnh sửa /etc/network/interfacestệp và thêm hai dòng này vào khổ thơ cho thiết bị tĩnh.

    dns-nameservers   8.8.8.8  192.0.2.10
    dns-search        my.example.org

Bạn cũng có thể nhận thấy rằng trình phân giải DNS sẽ chỉ sử dụng tối đa ba máy chủ DNS. Xin vui lòng tìm kiếm trong trang này mancủa resolv.conf. Như thường, bạn có thể sử dụng lệnh man nsswitch.conf, man resolv.confman resolvconfđể biết thêm thông tin.

Cũng lưu ý rằng tôi sử dụng domain example.com và example.org và mạng IP 192.0.2.0/24 cho máy chủ DNS ví dụ ISP. Đây là những định nghĩa rõ ràng được sử dụng trong các ví dụ. Xem http://example.com/ hoặc http://tools.ietf.org/html/rfc2606 và rfc5735

Làm thế nào để bạn kiểm tra xem nó hoạt động?
Bạn có thể làm điều đó theo nhiều cách, nhưng tôi thường sử dụng

getent hosts my.test.com

để kiểm tra toàn bộ thiết lập cho độ phân giải tên. Nếu tôi chỉ muốn kiểm tra xem DNS có hoạt động không, tôi sử dụng một trong các lệnh sau:

host my.test.com
dig my.test.com

Nhưng hãy nhớ rằng những người đó chỉ kiểm tra DNS thông qua các cài đặt trong /etc/resolv.conftệp chứ không phải /etc/nsswitch.confphần. Nó có thể là những gì bạn muốn, hoặc không.


1
Lời giải thích tốt đẹp, Cảm ơn bạn. Vì chili555 đề cập đến tầm quan trọng của DNS để giải quyết các tên miền, Sẽ thật tuyệt nếu bạn thêm một điểm về nó. (Đối với kết nối Internet hoặc WAN, cần phải thiết lập tất cả)
user.dz 15/03/2016

Một cái gì đó như thế này?
Anders

1
Không có gì. :-) Tự hỏi nếu đó là một câu trả lời đủ tốt cho người dùng1424739
Anders

Dù sao, /etc/internet/interfacessắp bị Ubuntu lỗi thời, có lợi cho riêng họ NetPlan, hãy xem /etc/netplan/*.yamlNM(có thể sửa đổi bằng nm-tools).
Anders
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.