Использование dhcp и статического ip на одном сетевом адаптере в linux с systemd-networkd

У меня есть устройство portabel, которое иногда требует подключения к интернету (для обновления), но в основном будет использоваться непосредственно подключено к ноутбуку через кабель ethernet. Я хочу, чтобы мои пользователи имели подключи и играй выгоды от dhcp ip при подключении к маршрутизатору, но все еще быть в состоянии достичь устройства, когда нет dhcp-сервер не участвует.

Я в основном хочу сделать это, но с systemd-networkd:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth0:0
iface eth0:0 inet static
address 192.168.0.130
netmask 255.255.255.0

Как я могу достичь этого с помощью systemd-networkd и есть ли лучший способ достичь того же результата?

19
задан Hampus Andersson
07.12.2022 8:40 Количество просмотров материала 3518
Распечатать страницу

2 ответа

мне удалось сделать эту работу со следующей конфигурацией:

/ etc / systemd / network / eth0.сеть

[Match]
Name=eth0

[Network]
DHCP=yes
DNS=8.8.8.8
DNS=8.8.4.4

[Address]
Label=eth0:0
Address=192.168.0.130/24

это немного сложно, как "ifconfig" не показывает адрес DHCP для меня, но если я смотрю на journalctl или использовать "ip addr show" адрес DHCP есть.

# ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:192.168.0.130  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::f0f7:36ff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2721 errors:0 dropped:92 overruns:0 frame:0
          TX packets:947 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:218362 (213.2 KiB)  TX bytes:115488 (112.7 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5680 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5680 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:460080 (449.2 KiB)  TX bytes:460080 (449.2 KiB)

но:

# ip addr show
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: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default 
    link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.130/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 172.16.200.191/24 brd 172.16.200.255 scope global dynamic eth0
       valid_lft 85430sec preferred_lft 85430sec
    inet6 fe80::f0f7:36ff:fe00:1/64 scope link 
       valid_lft forever preferred_lft forever
4
отвечен RDP 2022-12-08 16:28

вы можете настроить dhclient.conf следующим образом:

timeout 10;

lease {
interface "eth0";
fixed-address 10.0.0.10;
option subnet-mask 255.255.255.0;
}

interface "ep0" {
prepend domain-name-servers 10.0.0.1;
}

это настроит ваш dhcp на тайм-аут после 10 секунд не получать IP-адрес от сервера DHCP и дать адрес 10.0.0.10 на /24 Сети. Можно также установить серверы DNS в конфигурации также. Вот ссылка на man-страницу, которую я получил от

http://www.freebsd.org/cgi/man.cgi?query=dhclient.conf&sektion=5&n=1

0
отвечен TheGrandPackard 2022-12-08 18:45

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх