Eu conecto diretamente meu servidor Ubuntu 22.04 ao roteador com 2 cabos FC (ligação). O servidor e o roteador se conectarão à sub-rede 10.27.28.5/30. Eu instalo meu aplicativo no contêiner. Mapeei este contêiner com 1 IP público definido na interface de loopback.
Agora posso fazer ping para o IP público na interface de loopback da Internet, mas não consigo fazer ping do servidor para 8.8.8.8. Ainda posso rastrear a rota para 8.8.8.8 com a origem sendo o IP público, embora não consiga rastrear a rota sem a fonte.
ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes de dados.
^C
--- 8.8.8.8 estatísticas de ping ---
5 pacotes transmitidos, 0 recebidos, 100% de perda de pacotes, tempo 4087ms
traceroute 8.8.8.8
traceroute para 8.8.8.8 (8.8.8.8), 30 saltos no máximo, pacotes de 60 bytes
1 _gateway (10.27.28.5) 1,602 ms 1,592 ms 1,609 ms
2 * * *
3 * * *
traceroute 8.8.8.8 -s
traceroute para 8.8.8.8 (8.8.8.8), 30 saltos no máximo, pacotes de 60 bytes
1 _gateway (10.27.28.5) 1.600 ms 1.790 ms 1.943 ms
2 10.52.226.145 (10.52.226.145) 1,425 ms 10.52.226.149 (10.52.226.149) 1,570 ms 1,566 ms
...
13 * * *
14 8.8.8.8 (8.8.8.8) 45,061ms 45,418ms 45,377ms
Configuro IP e rotas pelo netplan
'#Deixe o NetworkManager gerenciar todos os dispositivos neste sistema
rede:
versão 2
renderizador: NetworkManager
Ethernet:
eno8403:
dhcp4: false
dhcp6: false
dhcp4-overrides:
use-routes: false
eno8303:
addresses: [10.52.17.251/29]
routes:
- to: 10.24.4.0/24
via: 10.52.17.249
- to: 10.24.5.0/24
via: 10.52.17.249
- to: 10.27.10.0/24
via: 10.52.17.249
- to: 10.27.11.0/24
via: 10.52.17.249
dhcp6: false
dhcp4: false
dhcp4-overrides:
use-routes: false
enp1s0f0np0:
dhcp4: false
enp1s0f1np1:
dhcp4: false
loop1:
renderer: networkd
dhcp4: false
dhcp6: false
addresses:
- *.*.*.*/32
dhcp4-overrides:
use-routes: false
títulos:
bond0:
interfaces: [enp1s0f0np0,enp1s0f1np1]
mtu: 9000
parameters:
mode: balance-rr
mii-monitor-interval: 100
addresses:
- 10.27.28.6/30
routes:
- to: default
via: 10.27.28.5
Tabela de rotas IP
padrão via 10.27.28.5 dev bond0 proto métrica estática 20300
10.24.4.0/24 via 10.52.17.249 dev eno8303 proto métrica estática 100
10.24.5.0/24 via 10.52.17.249 dev eno8303 proto métrica estática 100
10.27.10.0/24 via 10.52.17.249 dev eno8303 proto métrica estática 100
10.27.11.0/24 via 10.52.17.249 dev eno8303 proto métrica estática 100
10.27.28.4/30 dev bond0 proto kernel scope link src 10.27.28.6 métrica 300
10.52.17.248/29 dev eno8303 proto kernel scope link src 10.52.17.251 métrica 100
169.254.0.0/16 dev docker0 escopo link métrica 1000
172.17.0.0/16 dev docker0 proto link de escopo do kernel src 172.17.0.1
Então, como posso definir o padrão para acessar a Internet com IP público. Eu verifico que o aplicativo pode acessar a Internet, mas o próprio servidor não pode, então posso atualizar o pacote para ele.