Cả DHCP và địa chỉ IP tĩnh đồng thời trên một giao diện


16

Chúng tôi có thể sử dụng nhiều địa chỉ IP cho một giao diện duy nhất trong Linux (eg. eth0:0, eth0:1). Nhưng chúng ta có thể sử dụng DHCP và IP tĩnh cùng một lúc không? eth0:1nên có một địa chỉ IP tĩnh và eth0:0nên được cấu hình bằng DHCP.

Làm thế nào chúng ta có thể hoàn thành cả hai?


Có phải câu hỏi này về cấu hình NetworkManager?
madneon

Câu trả lời:


13

Vâng, điều này có thể được thực hiện. Tuy nhiên, bạn thường sẽ sử dụng eth0 và eth0: 0 cho điều này thay vì eth0: 0 và eth0: 1. Bạn có thể thiết lập tệp / etc / mạng / giao diện như thế này:

auto lo eth0 eth0:0
iface lo inet loopback

iface eth0 inet dhcp

iface eth0:0 inet static
    address ...
    netmask ...

Bạn có thể không muốn đặt một cổng trên giao diện eth0: 0 vì điều đó có thể xung đột với các cài đặt cổng bạn nhận được từ DHCP. Nếu bạn nhập cài đặt thủ công trong / etc / mạng / giao diện, bạn sẽ muốn đảm bảo rằng trình quản lý mạng không cố gắng quản lý cài đặt của bạn. Điều này được đề cập ở đây .


9

Sau một số tìm kiếm chuyên sâu cho câu trả lời cho cùng một vấn đề, tôi đã tìm ra giải pháp cho phép Trình quản lý mạng tiếp tục quản lý các kết nối của bạn. Đầu tiên, tạo kết nối DHCP bình thường trong Trình quản lý mạng bằng Chỉnh sửa kết nối> Thêm. Điều này sẽ tạo một tệp nằm trong / etc / NetworkManager / system-links /. Mở tệp này trong trình soạn thảo văn bản của bạn với quyền Siêu người dùng. Ví dụ: sudo nano / etc / NetworkManager / system-results / DHCPEthernet

Mã sẽ trông giống như thế này:

[802-3-ethernet]
duplex=full
mac-address=00:0E:C6:88:31:43

[connection]
id=DHCPEthernet
uuid=26af83f1-c48c-4454-9038-bbb4bec3e3a3
type=802-3-ethernet
timestamp=1405008541

[ipv6]
method=auto

[ipv4]
method=auto

Thêm một dòng dưới phần ipv4 cho địa chỉ ip tĩnh bạn muốn thêm. Tôi đang sử dụng 192.168.10.1 không có cổng cho ví dụ này

address1=192.168.10.1/24,0.0.0.0

Lưu tệp và sử dụng Trình quản lý mạng để ngắt kết nối và sau đó kết nối lại với mạng. Pinging sẽ xác nhận cả hai địa chỉ IP hoạt động đúng. Đầu ra từ ip addr xác nhận thành công.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 14:10:9f:d7:22:0b brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.71/24 brd 172.20.1.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::1610:9fff:fed7:220b/64 scope link 
       valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0e:c6:88:31:43 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.60/24 brd 172.20.1.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::20e:c6ff:fe88:3143/64 scope link 
       valid_lft forever preferred_lft forever

address1cài đặt được tìm thấy ở đây thực sự là ipv4.addressescài đặt của Trình quản lý mạng nếu bạn đang sử dụng API hoặc nmcli. Trong trường hợp này, bạn cũng phải tiếp tục ipv4.methodđặt thành "tự động".
Dave

Sau khi tôi tạo kết nối bình thường, tôi vẫn không có tệp nào trong thư mục / etc / NetworkManager / system-links / của tôi. Có phải họ đang bị giữ ở một nơi khác? Có lẽ là một điều TỰ TIN?
Steve Jorgensen

2

Tôi đã kiểm tra xung quanh một chút và phát hiện ra rằng ngày nay có thể tạo cấu hình này bằng nmclicông cụ. Trong thực tế, nó cho phép kiểm soát hoàn toàn NetworkManager. Các trang hướng dẫn sử dụng cho nmcli rất kỹ lưỡng và khá dễ hiểu. Xem man nmcliman nm-settings.

Để thiết lập cấu hình trong câu hỏi này, cách dễ nhất là chỉnh sửa cấu hình kết nối hiện tại của bạn. Tìm tên của hồ sơ từ công cụ GUI NetworkManager của bạn và chỉnh sửa nó bằng trình soạn thảo CLI (ở đây tên là Ethernet connection):

$ sudo nmcli c chỉnh sửa 'Kết nối Ethernet'

=== | trình chỉnh sửa kết nối tương tác nmcli | ===

Chỉnh sửa kết nối '802-3-ethernet' hiện tại: 'Kết nối Ethernet 1'

Nhập 'trợ giúp' hoặc '?' cho các lệnh có sẵn.
Nhập 'mô tả [.]' Để mô tả thuộc tính chi tiết.

Bạn có thể chỉnh sửa các cài đặt sau: kết nối, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6
nmcli> goto ipv4
Bạn có thể chỉnh sửa các thuộc tính sau: phương thức, dns, dns-search, dns-Tùy chọn, dns-ưu tiên, địa chỉ, cổng, tuyến đường, tuyến-mét, bỏ qua tự động, bỏ qua-auto-dns, dhcp-hostname, dhcp -send-hostname, never-default, may-fail, Dad-timeout, dhcp-timeout, dhcp-client-id, dhcp-fqdn
nmcli ipv4> đặt ipv4.addresses {your_address_here} / {your_network_prefix_here} 
Bạn có muốn đặt 'ipv4.method' thành 'thủ công' không? [có]: không có 
ipcl4 nmcli> lưu
Kết nối 'Kết nối Ethernet' (87fa8e41-7fe3-435a-a2f2-29a9c8084d2d) được cập nhật thành công.
nmcli ipv4> thoát

Các phần được in đậm là đầu vào của bạn, thay thế mọi thứ trong dấu ngoặc nhọn bằng cài đặt của bạn. Trả lời nocâu hỏi về ipv4.methodbảo tồn cấu hình DHCP. Afterwords bạn cần phải vô hiệu hóa và kích hoạt lại cấu hình, có thể được thực hiện bằng cách sử dụng các công cụ GUI hoặc nmcli.

Nếu bạn muốn, cũng có thể tạo một kết nối mới từ dòng lệnh:

sudo nmcli -p connection add type ethernet ifname {your_interface_name} con-name MyConnection -- ipv4.addresses {your_address}/{your_prefix_length} ipv4.method auto

Một lần nữa, thay thế mọi thứ trong dấu ngoặc nhọn với cài đặt của bạn.

Cuối cùng, nếu bạn vẫn muốn chỉnh sửa các tệp cấu hình, hãy nhớ tải lại tệp sau khi chỉnh sửa:

sudo nmcli connection reload

Xin lưu ý rằng các cấu hình được tạo theo cách này có thể gây nhầm lẫn cho các công cụ GUI. Tốt nhất, họ sẽ không chỉ cho bạn các địa chỉ tĩnh.


0

Debian Buster / 10 NetworkManager nm-connection-editorhiện có thể thực hiện việc này từ giao diện người dùng đồ họa.

Chỉnh sửa kết nối, mở tab "Cài đặt IPv4", sau đó:

  1. Đặt Phương thức thành "Tự động (DHCP)".
  2. Thêm "Địa chỉ tĩnh bổ sung" bên dưới.

Điều này sẽ viết các cài đặt sau trong /etc/NetworkManager/system-connections/connection.nmconnection:

[ipv4]
address1=10.0.0.1/24
method=auto
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.