관련 장치 : VPS, 라우터 및 라우터에 연결된 여러 장치
최종 목표 : VPS의 서버에 연결된 OpenVPN 클라이언트를 기반으로 VPN을 통해 인터넷에 액세스 할 로컬 장치를 하나만 지정하고 VPS의 일부 포트를 지정된 장치로 전달합니다.
VPS 네트워크 :
Public IP: 157.7.201.X
라우터 네트워크 :
WAN: 192.168.178.207/27
LAN: 192.168.1.0/24
VPN :
DHCP: 10.168.1.0/29
VPS: 10.168.1.1 (static)
Client: 10.168.1.2 (static)
지정된 장치의 IP는 192.168.1.123 (static)
(다음 세부 구성으로 건너 뛰어 현재 상황을 직접 확인할 수 있습니다. 조금 길고 모든 회선이 유용한 것은 아니기 때문입니다.)
그리고 여기 내 VPS의 iptables가 있습니다 :
root@VPS:~# iptables -t nat -L POSTROUTING -vn
Chain POSTROUTING (policy ACCEPT 24 packets, 2860 bytes)
pkts bytes target prot opt in out source destination
6280 663K SNAT all -- * * 10.168.1.0/29 0.0.0.0/0 to:157.7.201.X
라우터의 라우팅 테이블 :
root@Onee3:/tmp/home/root# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.178.193 * 255.255.255.255 UH 0 0 0 vlan1
157.7.201.85 192.168.178.193 255.255.255.255 UGH 0 0 0 vlan1
10.168.1.1 * 255.255.255.255 UH 0 0 0 tun11
10.168.1.0 10.168.1.1 255.255.255.248 UG 0 0 0 tun11
192.168.178.192 * 255.255.255.224 U 0 0 0 vlan1
192.168.1.0 * 255.255.255.0 U 0 0 0 br0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.178.193 0.0.0.0 UG 0 0 0 vlan1
내 라우터의 iptables :
root@Onee3:/tmp/home/root# iptables -t nat -L POSTROUTING -vn
Chain POSTROUTING (policy ACCEPT 5 packets, 709 bytes)
pkts bytes target prot opt in out source destination
75 14012 SNAT all -- * br0 192.168.1.0/24 192.168.1.0/24 to:192.168.1.233
12828 1438K SNAT all -- * vlan1 192.168.1.100 0.0.0.0/0 to:192.168.178.207
27 1764 SNAT all -- * tun11 0.0.0.0/0 10.168.1.0/29 to:10.168.1.2
33 1980 SNAT all -- * vlan1 192.168.1.222 0.0.0.0/0 to:192.168.178.207
0 0 SNAT all -- * tun11 192.168.1.123 0.0.0.0/0 to:10.168.1.2
내 상황은 다음과 같습니다.
라우터 자체는 물리적 네트워크를 통해 인터넷에 액세스 할 수 있으며 VPS의 가상 IP 인 10.168.1.1을 포함한 모든 호스트에 액세스 할 수 있습니다.
라우터에 연결된 모든 장치는 정상적으로 라우터 및 VPS의 가상 IP에 액세스 할 수 있습니다. vlan1을 사용하도록 설정된 라우터의 iptable에 포함 된 장치는 일반적으로 인터넷에 액세스 할 수 있습니다 (예 : 목록의 192.168.1.100). 기본 MASQUERADE 레코드가 수동으로 삭제되었으므로 포함되지 않은 다른 사람은 없습니다.
이제 라우터의 iptables에 레코드를 추가하여 SNAT (위의 목록) 또는 MASQUERADE (또한 시도)에 의해 192.168.1.123에서 10.168.1.2로 IP 전달을 수행했지만 결과는 192.168.1.123이 가능합니다. LAN의 호스트 또는 VPS의 가상 IP에만 액세스하십시오.
한마디로, 나는 이제 최종 목표에 반쯤 (또는 더 적은) 붙어 있습니다. 도와주세요, 고마워요