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

Хороший совет.

Это снимок экрана в MATE. (Возможно, очень похоже на Gnome.) Вы должны нажать кнопку «Маршруты» в настройках IPv4, чтобы изменить поиск.

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

2 ответа

После некоторого интенсивного поиска ответа на ту же проблему я разработал решение, позволяющее Network Manager продолжать управлять вашими подключениями. Сначала создайте DHCP-соединение, обычно в Network Manager, с помощью Edit Connections> Add. Это создаст файл, расположенный в / etc / NetworkManager / system-connections /. Откройте этот файл в текстовом редакторе с правами суперпользователя. Пример: sudo nano / etc / NetworkManager / системные соединения / 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

Сохраните файл и используйте Network Manager, чтобы отключиться, а затем снова подключиться к сети. Pinging подтвердит правильность функционирования обоих IP-адресов. Выход из sudo nano / etc / NetworkManager / системных соединений / DHCPEthernet подтверждает успех.

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
8
ответ дан 24 May 2018 в 09:04
  • 1
    address1, найденный здесь, фактически является параметром ipv4.addresses NetworkManager, если вы используете API или nmcli. В этом случае вы также должны установить ipv4.method в положение «auto». – Dave 21 February 2015 в 05:29
  • 2
    После того, как я создаю соединение нормально, у меня все еще нет файлов в каталоге / etc / NetworkManager / system-connections /. Их держат где-то в другом месте? Может быть, вещь SELinux? – Steve Jorgensen 2 July 2016 в 00:47

Я проверил немного и узнал, что в настоящее время эту конфигурацию можно создать с помощью инструмента nmcli. Фактически, он позволяет полностью контролировать NetworkManager. Страницы руководства для nmcli очень тщательны и понятны. См. [F5] и 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.

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

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

Опять замените в фигурных скобках ваши настройки.

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

sudo nmcli connection reload

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

2
ответ дан 24 May 2018 в 09:04

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

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