У меня есть проблемы, заставляя статический IP работать. Я работаю бездисплейный, таким образом, нет никакого Сетевого менеджера (это должно быть сделано через командную строку). Кроме того, конфигурирование статического IP через маршрутизатор не является опцией для меня, поскольку получение адреса, настроенного администратором сети, займет 2 недели, и я должен смочь настроить устройство из списка утвержденного IP через 2 минуты.
Я присвоил его в /etc/network/interfaces
следующим образом:
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.4.123
netmask 255.255.255.0
network 192.168.4.0
gateway 192.168.4.1
broadcast 192.168.4.255
Однако, когда я работаю ifconfig
это продолжает присваивать адрес динамично:
root@BBG1:~# ifconfig
eth0 Link encap:Ethernet HWaddr ec:24:b8:f6:d6:0b
inet addr:192.168.4.26 Bcast:192.168.4.255 Mask:255.255.255.0
inet6 addr: fe80::ee24:b8ff:fef6:d60b/64 Scope:Link
inet6 addr: 2601:681:303:b10:ee24:b8ff:fef6:d60b/64 Scope:Global
UP BROADCAST RUNNING MULTICAST DYNAMIC MTU:1500 Metric:1
RX packets:4974 errors:0 dropped:0 overruns:0 frame:0
TX packets:886 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:719167 (702.3 KiB) TX bytes:93681 (91.4 KiB)
Interrupt:175
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:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1683 (1.6 KiB) TX bytes:1683 (1.6 KiB)
Я могу добраться ifconfig
показать новый IP, если я работаю /etc/init.d/networking restart
, но
ifconfig
продолжает показывать DYNAMIC
192.168.4.26
Кто-либо может видеть то, что я пропускаю?
Я нашел проблему. Моя система использует ConnMan для управления соединением Ethernet, таким образом вносить изменения в /etc/network/interfaces
игнорировалось. Для конфигурирования интерфейса сначала я должен был найти MAC-адрес интерфейса путем ввода connmanctl services
. Я затем использовал эту команду для конфигурирования интерфейса:
connmanctl config ethernet_<mac_address>_cable --ipv4 manual <ip_address> <netmask> <gateway> --nameservers <ip_address>
Так в моем случае, это было похоже на это:
connmanctl config ethernet_ec24b8f6d60b_cable --ipv4 manual 192.168.4.123 255.255.255.0 192.168.4.1 --nameservers 8.8.8.8
Это, кажется, сохраняется через перезагрузки и содержит IP.