Tanto quanto eu posso dizer das informações da sua pergunta, seu problema é que
arp -s 137.74.9.193 fa:16:3e:76:31:ea -i ens3 pub
não faz o que você acha que faz. Esse comando cria uma nova entrada de tabela ARP em seu servidor, de forma que, se o seu servidor enviar pacotes sobre ens3
a 137.74.9.193
, não fará solicitações ARP porque você já especificou um endereço MAC de destino.
Mas você também precisa garantir que o roteador saiba enviar os pacotes ao seu servidor. O roteador enviará uma solicitação ARP para 137.74.9.193
. Mas como esse endereço IP não está atribuído a nenhuma interface em seu servidor, seu servidor não responderá a essas solicitações ARP.
Para fazer esse trabalho, você precisará habilitar o proxy ARP, o que você pode fazer com este comando:
echo 1 > /proc/sys/net/ipv4/conf/ens3/proxy_arp
Se você usar esse comando em vez do comando arp
, acho que funcionará. (Eu sei que isso funciona com o peer IP de uma interface ponto-a-ponto. Eu não testei a mesma configuração com uma entrada de tabela de roteamento enviando o tráfego através de uma interface de túnel, e eu não sei com certeza se isso requer etapas adicionais.)
Se o servidor de hospedagem do ISP filtrar o tráfego com base no endereço IP de origem, talvez você não consiga enviar pacotes usando o 137.74.9.193
como endereço de origem. Se você pingar 137.74.9.193
de fora e capturar pacotes ICMP em eth0
no Servidor B, deverá ver se as respostas de eco ICMP estão sendo enviadas nessa interface.
Se você achar que o Servidor B está enviando respostas de eco ICMP e elas nunca chegam ao seu destino, a explicação mais provável é que o ISP está filtrando com base no endereço IP de origem.
Nesse caso, você tem duas opções. Você pode entrar em contato com o ISP e explicar que você precisa originar pacotes com esse IP de origem, de forma que eles possam atualizar seu filtro. Ou você pode encapsular o tráfego de retorno através do Servidor A.
A maneira mais simples de encapsular o tráfego de retorno através de A é criar uma tabela de roteamento em B que se pareça com isto:
Destination Gateway Genmask Flags Metric Ref Use Iface
default * 0.0.0.0 UG 0 0 0 tun1
213.32.69.16 gateway 255.255.255.255 UG 0 0 0 eth0
10.0.0.1 * 255.255.255.255 UH 0 0 0 tun1
10.19.0.0 * 255.255.0.0 U 0 0 0 eth0
139.59.128.0 * 255.255.240.0 U 0 0 0 eth0
Isso, no entanto, tornará 139.59.131.76
inacessível do restante da Internet. Se você quiser que B seja acessível através de ambos os endereços IP simultaneamente, você precisa criar duas rotas padrão diferentes e uma política de roteamento para escolher entre elas com base no IP de origem do pacote.