Я напрямую подключаю свой сервер Ubuntu 22.04 к маршрутизатору с помощью 2 кабелей FC (связывание). Сервер и маршрутизатор будут соединены вместе с подсетью 10.27.28.5/30. Я устанавливаю свое приложение в контейнер. Я сопоставляю этот контейнер с 1 публичным IP, который устанавливается в интерфейсе loopback.
Теперь я могу пинговать IP public в интерфейсе loopback из интернета, но не могу пинговать с сервера на 8.8.8.8. Я все еще могу выполнить трассировку до 8.8.8.8 с источником - публичным IP, хотя я не могу выполнить трассировку без источника.
пинг 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) байт данных.
^С
--- 8.8.8.8 статистика пинга ---
5 пакетов передано, 0 получено, 100% потеря пакетов, время 4087 мс
трассировка маршрута 8.8.8.8
traceroute до 8.8.8.8 (8.8.8.8), 30 переходов максимум, пакеты по 60 байт
1 _шлюз (10.27.28.5) 1,602 мс 1,592 мс 1,609 мс
2 * * *
3 * * *
трассировка 8.8.8.8 -s
traceroute до 8.8.8.8 (8.8.8.8), 30 переходов максимум, пакеты по 60 байт
1 _шлюз (10.27.28.5) 1.600 мс 1.790 мс 1.943 мс
2 10.52.226.145 (10.52.226.145) 1.425 мс 10.52.226.149 (10.52.226.149) 1.570 мс 1.566 мс
...
13 * * *
14 8.8.8.8 (8.8.8.8) 45.061 мс 45.418 мс 45.377 мс
Я настраиваю IP и маршруты через netplan
'# Позвольте NetworkManager управлять всеми устройствами в этой системе
сеть:
версия: 2
рендерер: 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
облигации:
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-маршрутов
по умолчанию через 10.27.28.5 dev bond0 proto статическая метрика 20300
10.24.4.0/24 через 10.52.17.249 dev eno8303 proto статическая метрика 100
10.24.5.0/24 через 10.52.17.249 dev eno8303 proto статическая метрика 100
10.27.10.0/24 через 10.52.17.249 dev eno8303 proto статическая метрика 100
10.27.11.0/24 через 10.52.17.249 dev eno8303 proto статическая метрика 100
10.27.28.4/30 dev bond0 proto ядро область ссылка src 10.27.28.6 метрика 300
10.52.17.248/29 dev eno8303 proto ядро область ссылка src 10.52.17.251 метрика 100
169.254.0.0/16 dev docker0 область ссылки метрика 1000
172.17.0.0/16 dev docker0 proto ядро область ссылка src 172.17.0.1
Так как мне установить по умолчанию выход в интернет с публичным IP? Я проверяю, что приложение может выходить в интернет, но сам сервер не может, поэтому я могу обновить пакет для него.