Как DHCP, так и статические IP-адреса одновременно на одном интерфейсе

Мы можем использовать несколько IP-адресов для одного интерфейса в Linux (eg. eth0:0, eth0:1). Но можем ли мы использовать DHCP и статический IP одновременно? eth0:1 должен иметь статический IP-адрес, а eth0:0 должен быть настроен с использованием DHCP.

Как мы можем достичь обоих?

16
задан 16 July 2017 в 02:08

4 ответа

Да, это может быть сделано. Однако Вы обычно использовали бы eth0 и eth0:0 для этого вместо eth0:0 и eth0:1. Вы могли настроить свой/etc/network/interfaces файл как это:

auto lo eth0 eth0:0
iface lo inet loopback

iface eth0 inet dhcp

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

Вы, вероятно, не хотите устанавливать шлюз в интерфейсе eth0:0, потому что это могло конфликтовать с настройками шлюза, которые Вы получаете от DHCP. При вводе ручных настроек в/etc/network/interfaces, Вы захотите удостовериться, что администратор сети не пытается справиться с Вашими настройками. Это покрыто здесь .

0
ответ дан 16 July 2017 в 02:08

После некоторого интенсивного поиска ответа на ту же проблему я разработал решение, которое позволяет Администратору сети продолжить управлять Вашими подключениями. Во-первых, создавайте соединение с использованием DHCP обычно в Администраторе сети, использующем Соединения Редактирования>, Добавляют. Это создаст файл, расположенный в/etc/NetworkManager/system-connections/. Откройте этот файл в своем текстовом редакторе с полномочиями Суперпользователя. Пример: sudo нано/etc/NetworkManager/system-connections/DHCPEthernet

код будет выглядеть примерно так:

[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

Добавляют строку под разделом ipv4 для статического IP-адреса, который требуется добавить. Я использую 192.168.10.1 без шлюза для этого примера

address1=192.168.10.1/24,0.0.0.0

, Сохранили файл и используют Администратора сети, чтобы разъединиться и затем снова соединиться с сетью. Проверка с помощью ping-запросов подтвердит обе функции IP-адресов правильно. Вывод от ip addr подтверждает успех.

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
0
ответ дан 16 July 2017 в 02:08

Я проверил вокруг немного и узнал, это в наше время возможно создать эту конфигурацию с помощью nmcli инструмент. На самом деле это допускает полный контроль над NetworkManager. Страницы руководства для nmcli очень полны и довольно понятны. Посмотрите man nmcli и man nm-settings.

Для установки конфигурации в этом вопросе самый легкий путь состоит в том, чтобы отредактировать текущий профиль подключения. Узнайте название профиля от Вашего инструмента GUI NetworkManager и отредактируйте его с помощью редактора CLI (здесь, имя Ethernet connection):

$ sudo nmcli c edit 'Ethernet connection'

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'Ethernet connection 1'

Type 'help' or '?' for available commands.
Type 'describe [.]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6
nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, dns-options, dns-priority, addresses, gateway, routes, route-metric, ignore-auto-routes, ignore-auto-dns, dhcp-hostname, dhcp-send-hostname, never-default, may-fail, dad-timeout, dhcp-timeout, dhcp-client-id, dhcp-fqdn
nmcli ipv4> set ipv4.addresses {your_address_here}/{your_network_prefix_here}
Do you also want to set 'ipv4.method' to 'manual'? [yes]: no
nmcli ipv4> save
Connection 'Ethernet connection' (87fa8e41-7fe3-435a-a2f2-29a9c8084d2d) successfully updated.
nmcli ipv4> quit

Полужирные части являются Вашими исходными данными, заменяют вещи в фигурных скобках с Вашими настройками. Ответ no к вопросу о ipv4.method сохраняет конфигурацию DHCP. Послесловия необходимо отключить и повторно включить конфигурацию, которая может быть реализована с помощью инструментов GUI или nmcli.

Если Вы хотите, также возможно создать новое соединение из командной строки:

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

Снова, замените вещи в фигурных скобках с Вашими настройками.

Наконец, если Вы все еще хотите отредактировать конфигурационные файлы, не забудьте перезагружать файл после редактирования:

sudo nmcli connection reload

Действительно обратите внимание на то, что конфигурации создали этот путь, вероятно, перепутают инструменты GUI. В лучшем случае они не покажут Вам статические адреса.

2
ответ дан 23 November 2019 в 02:34

Debian Buster / 10 NetworkManager nm-connection-editor теперь может делать это из графического пользовательского интерфейса.

Отредактируйте соединение, откройте вкладку «Настройки IPv4», затем:

  1. Установите для метода значение «Автоматически (DHCP)».
  2. Добавьте ниже «Дополнительные статические адреса».

Следующие настройки будут записаны в /etc/NetworkManager/system-connections/connection.nmconnection :

[ipv4]
address1=10.0.0.1/24
method=auto
0
ответ дан 11 December 2019 в 13:57

Другие вопросы по тегам:

Похожие вопросы: