OpenVPN 클라이언트 중 하나를 통해 특정 IP를 라우팅하는 방법

OpenVPN 클라이언트 중 하나를 통해 특정 IP를 라우팅하는 방법

터널을 통해 연결된 로컬 네트워크에 대한 게이트웨이 역할을 하는 여러 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

관련 정보