Я назначаю статический IP-адрес на модуле Linux (пользовательский дистрибутив Yocto на пользовательском оборудовании TI AM3359) с помощью команды ifconfig.
sudo ifconfig eth1 10.11.3.80 netmask 255.255.248.0
sudo route add default gw 10.11.0.1 eth1
Если я сделаю это примерно через 60 секунд, таблица маршрутизации будет выглядеть следующим образом, и я смогу пинговать модуль с динамического IP-адреса диапазона 172.10.xx.xx неограниченное время.
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.11.0.1 0.0.0.0 UG 0 0 0 eth1
10.11.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth1
Но если я назначаю статический IP-адрес сразу после включения питания, моя таблица маршрутизации меняется на этот с задержкой, которая составляет около минуты.
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 eth1
0.0.0.0 10.11.0.1 0.0.0.0 UG 0 0 0 eth1
10.11.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
После того, как произошел этот сценарий, я не могу выполнить ping платы с динамического IP-адреса.
Пожалуйста, посоветуйте, что делать, так как я облазил почти весь интернет в поисках решения, но так ничего и не нашел.
Мой брандмауэр выглядит так:
root@a:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
А это вывод ip addr:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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 qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,DYNAMIC,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 3c:e0:64:14:b3:c9 brd ff:ff:ff:ff:ff:ff
4: eth1: <BROADCAST,MULTICAST,PROMISC,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 3c:e0:64:14:b3:cb brd ff:ff:ff:ff:ff:ff
inet 10.11.3.80/21 brd 10.11.7.255 scope global eth1
valid_lft forever preferred_lft forever
inet 169.254.199.165/16 brd 169.254.255.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::3ee0:64ff:fe14:b3cb/64 scope link
valid_lft forever preferred_lft forever
Обратите внимание, что если я попытаюсь пропинговать модуль из похожего диапазона IP-адресов, например, из диапазона 10.xx.x.xx, то это сработает.
Я пробовал отключать zeroconf, свой брандмауэр и пробовал отключать dhcp. Но ни один из них не сработал.
РЕДАКТИРОВАТЬ:
ip а
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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 qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,DYNAMIC,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 3c:e0:64:14:b3:c9 brd ff:ff:ff:ff:ff:ff
4: eth1: <BROADCAST,MULTICAST,PROMISC,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 3c:e0:64:14:b3:cb brd ff:ff:ff:ff:ff:ff
inet 10.11.3.80/21 brd 10.11.7.255 scope global eth1
valid_lft forever preferred_lft forever
inet 169.254.199.165/16 brd 169.254.255.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::3ee0:64ff:fe14:b3cb/64 scope link
valid_lft forever preferred_lft forever
ip р
default dev eth1 scope link
default via 10.11.0.1 dev eth1
10.11.0.0/21 dev eth1 proto kernel scope link src 10.11.3.80
169.254.0.0/16 dev eth1 proto kernel scope link src 169.254.199.165