특정 호스트를 다른 게이트웨이로 라우팅

특정 호스트를 다른 게이트웨이로 라우팅

컴퓨터에 두 개의 인터페이스(내부용(enp4s0) 및 인터넷 연결용(enp5s0))가 있는 기본 Ubuntu 18.04 설정이 있습니다. 인터넷 인터페이스에 enp5s0으로의 모든 아웃바운드 트래픽을 인계받아 인터넷 트래픽이 VPN으로 보호되는 VPN(tun0)을 성공적으로 설치했습니다.

제가 해결하려는 것은 네트워크 내의 호스트 하나(예: 192.168.1.220)를 VPN 외부에 두고 enp5s0을 통해 나가는 방법입니다. VPN 내부에 있는 것을 원하지 않습니다.

누구든지 내가 경로와 관련하여 무엇을 해야 하는지 제안할 수 있나요? 나는 iproute2를 통해 테이블을 설정해야 한다고 생각하지만 그것을 작동시키는 데 운이 없습니다.

라우팅 테이블(VPN 활성화됨)

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.8.1        128.0.0.0       UG    0      0        0 tun0
default         _gateway        0.0.0.0         UG    0      0        0 enp5s0
10.8.8.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
45.248.79.198   _gateway        255.255.255.255 UGH   0      0        0 enp5s0
128.0.0.0       10.8.8.1        128.0.0.0       UG    0      0        0 tun0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp5s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 enp4s0
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 enp5s0

라우팅 테이블(VPN 비활성화됨)

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    0      0        0 enp5s0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 enp5s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 enp4s0
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 enp5s0

UFW 규칙(LAN 트래픽을 VPN으로 전송)

-A POSTROUTING -s 192.168.1.0/24 -o tun0 -j MASQUERADE

답변1

당신은해야합니다정책 라우팅, 그래서 뭔가

ip route add table 250 default dev enp5s0
ip rule add from 192.168.1.220 table 250

어디를 가리켜야 할지 잘 모르겠습니다 . 첫 번째 줄에 추가 _gateway해야 할 수도 있습니다 . 또한, 이전 버전보다는 via a.b.c.d최신 버전을 사용하는 것이 좋습니다 .ip routeroute

답변2

이러한 테이블에서 네트워크 레이아웃을 얻으려면 항상 복잡한 작업이 필요합니다. 내 생각에는:

  • enp4s0과 enp5s0이라는 두 개의 물리적 인터페이스가 있습니다.
  • enp4s0 직접 연결 192.168.1.0/24
  • enp5s0이 t0 192.168.8.0/24에 직접 연결됨
  • 호스트는 _gateway192.168.8.0/24에 있습니다.
  • 터널 끝점은 45.248.79.198입니다.

제공하신 라우팅 테이블에 이상한 점이 있습니다.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.8.1        128.0.0.0       UG    0      0        0 tun0    
128.0.0.0       10.8.8.1        128.0.0.0       UG    0      0        0 tun0

인터넷을 반으로 나누고 둘 다 tun0을 통과합니다.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    0      0        0 enp5s0

기본 게이트웨이는 아직입니다._gateway

라우팅 테이블은 다음과 같을 것으로 예상됩니다.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.8.8.1        0.0.0.0         UG    0      0        0 tun0
10.8.8.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
45.248.79.198   _gateway        255.255.255.255 UGH   0      0        0 enp5s0    
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 enp4s0
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 enp5s0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo

귀하의 질문에 대답하려면 192.168.1.220이 직접 연결된 네트워크에 있습니다. 따라서 순전히 라우팅 문제인 경우 게이트웨이에 연결되지 않습니다.

관련 정보