게이트웨이가 255.255.255.0임을 이해합니다.

게이트웨이가 255.255.255.0임을 이해합니다.

OpenVPN 및 경로 테이블에 대한 많은 질문과 비슷해 보이지만 다른 질문과는 다르다고 생각합니다. 또는 적어도 아직 중복된 질문을 찾지 못했습니다.

제 경우에는 OpenVPN 서버에 연결한 후 기본 게이트웨이가 255.255.255.0(예, 마스크가 아닌 게이트웨이)으로 변경된 것을 확인했습니다. 아래는 제 라우팅 테이블입니다.

OpenVPN 서버에 연결하기 전에:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.15.254   0.0.0.0         UG    20600  0        0 wlp0s20f3
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp0s20f3
172.16.8.0      0.0.0.0         255.255.248.0   U     600    0        0 wlp0s20f3
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-8c249cf54f1c

OpenVPN 서버에 연결한 후:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         255.255.255.0   128.0.0.0       UG    0      0        0 tun0
0.0.0.0         172.16.15.254   0.0.0.0         UG    600    0        0 wlp0s20f3
10.8.0.0        255.255.255.0   255.255.255.0   UG    0      0        0 tun0
128.0.0.0       255.255.255.0   128.0.0.0       UG    0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp0s20f3
172.16.8.0      0.0.0.0         255.255.248.0   U     600    0        0 wlp0s20f3
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-8c249cf54f1c
192.168.100.0   255.255.255.0   255.255.255.0   UG    0      0        0 tun0
_VPN_server_IP_ 172.16.15.254   255.255.255.255 UGH   0      0        0 wlp0s20f3
255.255.255.0   0.0.0.0         255.255.255.255 UH    0      0        0 tun0

예상대로 작동합니다. OpenVPN은 모든 인터넷 트래픽을 서버를 통해 라우팅하고 모든 트래픽을 원격 LAN(192.168.100.0/24)으로 라우팅합니다. 게이트웨이가 255.255.255.0인 것을 보고 혼란스러웠습니다. 넷마스크가 255.255.255.0인데 게이트웨이가 255.255.255.0으로 설정되어 있다면 이해할 수 있습니다. 이것을 이해하는 방법?

첫 번째 항목을 삭제하면 ip route del 0.0.0.0/1 via 255.255.255.0 dev tun0인터넷은 VPN을 통한 라우팅을 확실히 중단합니다. 다시 추가하여 가지고 놀아 보았습니다.

ip route add 0.0.0.0/1 via _VPNserver_IP_ dev tun0

또는 VPN 서브넷(10.8.0.0/24)의 서버 IP를 사용하세요.

ip route add 0.0.0.0/1 via 10.8.0.1 dev tun0

둘 다 작동하지 않습니다. 그래서 저는 이것이 OpenVPN이 서버로 연결하기 위해 사용하는 일종의 트릭이라고 생각합니다. 어떤 조언이라도 대단히 감사하겠습니다.

답변1

@AB가 추측했듯이 이는 실제로 구성 오류로 인한 것입니다. 토폴로지를 서브넷으로 지정하는 것을 잊었으므로 기본값은 net30입니다. 결과적으로 로그에 다음 경고가 표시됩니다.

"Fri Apr 29 22:38:56 2022 WARNING: Since you are using --dev
 tun with a point-to-point topology, the second argument to 
--ifconfig must be an IP address.  You are using something 
(255.255.255.0) that looks more like a netmask. (silence this 
warning with --ifconfig-nowarn)". 

서브넷으로 변경한 후 문제가 해결되었습니다. 내 라우팅 테이블에 포함된 항목은 다음과 같습니다 tun0.

10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.0.0     10.8.0.1        255.255.0.0     UG    0      0        0 tun0

관련 정보