터널을 통해 연결된 로컬 네트워크에 대한 게이트웨이 역할을 하는 여러 Fedora 서버가 있습니다.
- 서버 Aeth0 192.168.1.1/24 tun0 192.168.94.1 및 eth1 1.1.1.1을 사용하여 OpenVPN 서버를 실행합니다.
- 서버 Beth0 192.168.20.1/24 tun0 192.168.94.20 및 eth1 2.2.2.2를 사용하여 OpenVPN을 실행합니다.
- 서버 Ceth0 192.168.30.1/24 tun0 192.168.94.32 및 eth1 3.3.3.3을 사용하여 OpenVPN을 실행합니다.
각 서버는 자체 /24 네트워크 클라이언트를 관리하고 로컬 eth1 pub IP를 통해 인터넷을 사용할 수 있도록 합니다. 그리고 모든 local/24 네트워크는 문제 없이 서로 볼 수 있으며( iptables -A FORWARD -s 192.168.0.0/16 -d 192.168.0.0/16 -j ACCEPT
), 현재 NAT는 각 local/24 네트워크에 대해서만 MASQ를 수행합니다.
이제 네트워크 A 192.168.1.101의 클라이언트가 다음을 통해 공용 IP 4.4.4.4에 액세스하기를 원합니다.서버 B. 경로를 추가해 보았습니다.서버 A
ip ro add 4.4.4.4 via 192.168.20.1
ip ro add 4.4.4.4 via 192.168.94.8
ip ro add 4.4.4.4 via 192.168.94.9
ip ro add 4.4.4.4 via 192.168.94.10 #(this is IP shown in ifconfig on SERVER B)
echo "200 custom"| tee -a /etc/iproute2/rt_tables
ip rule add to 4.4.4.4 lookup custom
ip ro add 4.4.4.4 via 192.168.20.1 tables custom
ip ro add 4.4.4.4 via 192.168.94.8 dev tun0 table custom
ip ro add 4.4.4.4 via 192.168.94.9 table custom
ip ro add 4.4.4.4 via 192.168.94.10 table custom #(this is IP shown in ifconfig on SERVER B)
Error: Nexthop has invalid gateway.
하지만 192.168.20.1 또는 192.168.94.10에 ping을 보낼 수 있음에도 불구하고 항상 ping이 발생합니다. 내가 뭘 잘못했나요?
나는 다른 게이트웨이를 통해 특정 로컬 클라이언트를 다시 라우팅하는 것이 가능해야 한다고 생각합니다.
예를 들어 로컬에서는 쉽게 할 수 있습니다.서버 Aeth2 및 192.168.2.2가 있으면 다른 공용 IP를 통해 특정 공용 IP를 다시 라우팅할 수 있습니다.서버D192.168.2.1( )과 동일한 위치에 있으므로 ip ro add 5.5.5.5 via 192.168.2.1
오류가 발생하지 않으며 정상적으로 작동하며 192.168.1.x의 특정 클라이언트를 다시 라우팅하여 사용합니다.게이트웨이D
메인서버 댓글을 토대로 추가 출력을 요청했습니다. 다른 사람들도 비슷한 것을 가지고 있습니다.
#ip -br link
lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
eth1 UNKNOWN 00:11:22:33:44:55 <BROADCAST,MULTICAST,UP,LOWER_UP>
eth0 UP 55:44:33:22:11:00 <BROADCAST,MULTICAST,UP,LOWER_UP>
tun0 UNKNOWN <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP>
#ip -br addr
lo UNKNOWN 127.0.0.1/8 ::1/128
eth1 UNKNOWN 1.1.1.1/23 fedb::1233:feef:fedc:1234/64
eth0 UP 192.168.1.1/24 fedc::1234:cdef:fedc:bbbb/64
tun0 UNKNOWN 192.168.94.1 peer 192.168.94.2/32 fe80::ddce:16ea:1c30:809a/64
메인 서버의 경로
#ip ro ls
default via 1.1.0.1 dev eth1
1.1.0.0/23 dev eth1 proto kernel scope link src 1.1.1.1 metric 101
192.168.0.0/16 via 192.168.94.2 dev tun0
192.168.1.0/24 dev en2 proto kernel scope link src 192.168.1.1 metric 100
192.168.94.0/24 via 192.168.94.2 dev tun0
192.168.94.2 dev tun0 proto kernel scope link src 192.168.94.1