-
Sim, essa regra não tem um especificador de interface, portanto aplica-se a todas as interfaces (a menos que houvesse outra regra como
-i lo -j RETURN
acima). -
Não, se você estiver fazendo o roteamento de tráfego, qual interface a conexão está usando pode mudar dinamicamente. (Estritamente falando, ele ainda pode estar vinculado a uma interface específica porque é onde o endereço está, mas o kernel pode estar enviando o tráfego para uma interface diferente, dependendo da tabela de roteamento).
-
O endereço de origem é o seletor mais comum, mas não o único. Você precisa considerar o banco de dados de diretivas de roteamento (RPDB)
ip rule
, pois ele pode conter regras muito mais complexas do que simplesmente endereço de origem, incluindo várias tabelas de roteamento.3.a. Todo sistema Linux moderno tem pelo menos 3 tabelas de roteamento, começando com
ip rule
; geralmente conteráfrom all lookup $X
, em que$X
élocal
,main
,default
.3.b.
ip route show table local
deve mostrar todas as rotas com um escopo de link ou host. Você verá todos os seus IPs locais aqui.3.c.
ip route show table main
esta é a tabela de roteamento normal que você vê -
Se o endereço de destino é local para a máquina (veja a tabela de roteamento local), o kernel irá realmente perceber isso através da tabela, e enviá-lo pela interface de loopback, e NÃO
eth0
.4.1. Sim
4.2. Depende do roteamento na rede, se houver DNAT ou outras rotas, pode ser mais acessível do que apenas a LAN.
4.3. Você diz local + LAN + WAN, o que mais há além disso?
-
0.0.0.0 é conhecido como INADDR_ANY e o curinga associa todos os IPs do host a esse endereço.
-
Veja o que escrevi acima, se o endereço é local, ele passa por loopback pela tabela de roteamento e NÃO via eth0.