2개의 FC 케이블(본딩)을 사용하여 Ubuntu 22.04 서버를 라우터에 직접 연결합니다. 서버와 라우터는 서브넷 10.27.28.5/30으로 함께 연결됩니다. 컨테이너에 앱을 설치합니다. 이 컨테이너를 루프백 인터페이스에 설정된 공용 IP 1개로 매핑합니다.
이제 인터넷의 루프백 인터페이스에서 공용 IP로 ping을 수행할 수 있지만 서버에서 8.8.8.8로 ping을 수행할 수 없습니다. 소스 없이는 추적 경로를 추적할 수 없지만 소스가 공용 IP인 경우 여전히 8.8.8.8로 경로를 추적할 수 있습니다.
핑 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) 바이트의 데이터.
^C
--- 8.8.8.8 핑 통계 ---
5개 패킷 전송, 0개 수신, 100% 패킷 손실, 시간 4087ms
추적 경로 8.8.8.8
8.8.8.8(8.8.8.8)으로의 Traceroute, 최대 30홉, 60바이트 패킷
1 _게이트웨이(10.27.28.5) 1.602ms 1.592ms 1.609ms
2 * * *
삼 * * *
추적 경로 8.8.8.8 -s
8.8.8.8(8.8.8.8)으로의 Traceroute, 최대 30홉, 60바이트 패킷
1 _게이트웨이(10.27.28.5) 1.600ms 1.790ms 1.943ms
2 10.52.226.145 (10.52.226.145) 1.425ms 10.52.226.149 (10.52.226.149) 1.570ms 1.566ms
...
13 * * *
14 8.8.8.8 (8.8.8.8) 45.061ms 45.418ms 45.377ms
Netplan으로 IP와 경로를 구성합니다.
'# NetworkManager가 이 시스템의 모든 장치를 관리하도록 합니다.
회로망:
버전: 2
렌더러: NetworkManager
이더넷:
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 static metric 20300을 통한 기본값
10.52.17.249 dev eno8303 proto static metric 100을 통한 10.24.4.0/24
10.52.17.249 dev eno8303 proto static metric 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.27.28.4/30 dev bond0 proto 커널 범위 링크 src 10.27.28.6 미터법 300
10.52.17.248/29 dev eno8303 프로토 커널 범위 링크 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 공개를 사용하여 인터넷에 기본적으로 연결되도록 어떻게 설정할 수 있습니까? 앱이 인터넷에 접속할 수 있는지 확인했지만 서버 자체는 접속할 수 없으므로 패킷을 업데이트할 수 있습니다.