Estou atribuindo um endereço IP estático em um módulo Linux (distribuição Yocto personalizada em hardware personalizado TI AM3359) usando o comando ifconfig.
sudo ifconfig eth1 10.11.3.80 netmask 255.255.248.0
sudo route add default gw 10.11.0.1 eth1
Se eu fizer isso antes de cerca de 60 segundos, a tabela de roteamento ficará assim e poderei executar ping no módulo a partir de um IP dinâmico do intervalo 172.10.xx.xx indefinidamente.
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
Mas se eu atribuir um IP estático instantaneamente após ligar, minha tabela de roteamento muda para isso após um atraso de cerca de um minuto.
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
Depois que esse cenário acontece, não consigo executar ping na placa a partir de um endereço IP dinâmico.
Por favor, sugira o que fazer, pois explorei quase toda a Internet em busca de uma solução, mas não encontrei nada.
Meu firewall está assim:
root@a:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
E esta é a saída do 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
Lembre-se de que se eu tentar executar ping no módulo a partir de um intervalo de IP semelhante, por exemplo, do intervalo 10.xx.x.xx, ele funcionará.
Tentei desabilitar o zeroconf, meu firewall e tentei desabilitar o dhcp. Mas nenhum deles parecia funcionar.
EDITAR:
ip um
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 r
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