두 개의 공개 주소가 있는 Ubuntu18 서버가 있습니다.
네임스페이스를 생성하고 두 번째 공용 IP를 통해 인터넷에 연결하려면 어떻게 해야 합니까?
(프로그램을 시작하고 강제로 두 번째 IP를 사용하여 인터넷에 연결해야 함)
IP:
root@vm8950217476:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 9a:40:ef:c5:bb:62 brd ff:ff:ff:ff:ff:ff
inet 130.185.76.181/24 brd 130.185.76.255 scope global eth0
valid_lft forever preferred_lft forever
inet 130.185.76.18/24 brd 130.185.76.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::9840:efff:fec5:bb62/64 scope link
valid_lft forever preferred_lft forever
IP 라우팅:
root@vm8950217476:~# ip route
default via 130.185.76.254 dev eth0 proto static
130.185.76.0/24 dev eth0 proto kernel scope link src 130.185.76.181
여기에 설명된 몇 가지 솔루션에 도달했습니다.
- 네트워크 네임스페이스를 인터넷에 연결
- 네임스페이스당 공용 IP 주소 1개
- 네트워크 네임스페이스 및 공용 IP
- https://askubuntu.com/questions/1214876/ubuntu-server-virtual-network-interface-with-internet-access
그러나 며칠 동안 테스트한 후에도 여전히 작동하지 않습니다. 이 프로세스는 나에게 혼란스러워 보입니다. 특히 netns 명령( ip addr , Route , gw , ...)에서 사용해야 하는 주소가 확실하지 않기 때문입니다.
내가 시도한 최근 단계:
ip netns add test
ip netns exec test ip link set lo up
ip link add link eth0 name test0 type macvlan
ip link set test0 netns test
ip netns exec test ip addr add 130.185.76.18/24 brd + dev test0
ip netns exec test ip link set test0 up
ip netns exec test ip route add default via 130.185.76.254 dev test0
root@vm8950217476:~# ip netns exec test ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 130.185.76.18 icmp_seq=10 Destination Host Unreachable
From 130.185.76.18 icmp_seq=11 Destination Host Unreachable
From 130.185.76.18 icmp_seq=12 Destination Host Unreachable