Ich verbinde meinen Ubuntu 22.04-Server direkt mit 2 FC-Kabeln (Bonding) mit dem Router. Server und Router werden über das Subnetz 10.27.28.5/30 miteinander verbunden. Ich installiere meine App im Container. Ich ordne diesen Container mit 1 öffentlichen IP-Adresse zu, die in der Loopback-Schnittstelle festgelegt ist.
Jetzt kann ich vom Internet aus einen Ping an die öffentliche IP in der Loopback-Schnittstelle senden, aber ich kann vom Server aus keinen Ping an 8.8.8.8 senden. Ich kann immer noch ein Traceroute zu 8.8.8.8 durchführen, wobei die Quelle die öffentliche IP ist, obwohl ich kein Traceroute ohne Quelle durchführen kann.
Ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) Bytes Daten.
^C
--- 8.8.8.8 Ping-Statistiken ---
5 Pakete gesendet, 0 empfangen, 100 % Paketverlust, Zeit 4087 ms
Traceroute 8.8.8.8
Traceroute zu 8.8.8.8 (8.8.8.8), max. 30 Hops, 60-Byte-Pakete
1 _gateway (10.27.28.5) 1,602 ms 1,592 ms 1,609 ms
2 * * *
3 * * *
traceroute 8.8.8.8 -s
Traceroute zu 8.8.8.8 (8.8.8.8), max. 30 Hops, 60-Byte-Pakete
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,061 ms 45,418 ms 45,377 ms
Ich konfiguriere IP und Routen per Netplan
'# Lassen Sie NetworkManager alle Geräte auf diesem System verwalten
Netzwerk:
Version 2
Renderer: NetworkManager
Ethernets:
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
Fesseln:
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
IP-Routing-Tabelle
Standard über 10.27.28.5 dev bond0 proto statische Metrik 20300
10.24.4.0/24 über 10.52.17.249 dev eno8303 proto statische Metrik 100
10.24.5.0/24 über 10.52.17.249 dev eno8303 proto statische Metrik 100
10.27.10.0/24 über 10.52.17.249 dev eno8303 proto statische Metrik 100
10.27.11.0/24 über 10.52.17.249 dev eno8303 proto statische Metrik 100
10.27.28.4/30 dev bond0 proto Kernel Umfang Link src 10.27.28.6 Metrik 300
10.52.17.248/29 dev eno8303 proto Kernel Bereich Link src 10.52.17.251 Metrik 100
169.254.0.0/16 dev docker0 Bereich Link Metrik 1000
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
Wie kann ich also die Standardeinstellung für den Internetzugang mit öffentlicher IP festlegen? Ich überprüfe, ob die App auf das Internet zugreifen kann, der Server selbst jedoch nicht, also kann ich das Paket dafür aktualisieren.