OpenVPN 클라이언트는 인터넷 연결을 공유할 수 없습니다

OpenVPN 클라이언트는 인터넷 연결을 공유할 수 없습니다

컨텍스트: Wi-Fi VPN 게이트웨이(Linux Ubuntu 컴퓨터)

  • 원격 서버(www.example.com)와 클라이언트(Paul, Ubuntu Linux, 게이트웨이)만 있으면 됩니다.연결됨그리고 openVpn. 서버를 통해 Paul은 인터넷을 검색할 수 있습니다.
  • Paul의 고객은 Wi-Fi AP를 통해 Paul의 연결을 Jack과 Sophie와 공유하려고 합니다.

질문:Jack & Sophie는 서버 홈페이지(www.example.com)만 탐색할 수 있습니다. domainname.com 서버 또는 IP를 참조하지 않는 다른 모든 요청(IP, ping, nslookup...)은 실패합니다(NO_INTERNET). 그러나 Paul은 원하는 것은 무엇이든 찾아볼 수 있었습니다.

알아채다:IP 전달은 1/활성화됨. VPN 없이 인터넷에 100% 액세스할 수 있습니다.

어떻게 해결할 수 있나요?


IPTABLES유용하다면 서버

*filter
:INPUT ACCEPT [1623:213921]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [911:146048]
:acctboth - [0:0]
:cphulk - [0:0]
-A INPUT -j cphulk 
-A INPUT -j acctboth 
-A INPUT -i eth0 -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT 
-A INPUT -i tun+ -j ACCEPT 
-A FORWARD -i tun+ -j ACCEPT 
-A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -j acctboth 
-A OUTPUT -o tun+ -j ACCEPT 
-A acctboth -s 3.1.170.110/32 ! -i lo -p tcp -m tcp --dport 80 
-A acctboth -d 3.1.170.110/32 ! -i lo -p tcp -m tcp --sport 80 
-A acctboth -s 3.1.170.110/32 ! -i lo -p tcp -m tcp --dport 25 
-A acctboth -d 3.1.170.110/32 ! -i lo -p tcp -m tcp --sport 25 
-A acctboth -s 3.1.170.110/32 ! -i lo -p tcp -m tcp --dport 110 
-A acctboth -d 3.1.170.110/32 ! -i lo -p tcp -m tcp --sport 110 
-A acctboth -s 3.1.170.110/32 ! -i lo -p icmp 
-A acctboth -d 3.1.170.110/32 ! -i lo -p icmp 
-A acctboth -s 3.1.170.110/32 ! -i lo -p tcp 
-A acctboth -d 3.1.170.110/32 ! -i lo -p tcp 
-A acctboth -s 3.1.170.110/32 ! -i lo -p udp 
-A acctboth -d 3.1.170.110/32 ! -i lo -p udp 
-A acctboth -s 3.1.170.110/32 ! -i lo 
-A acctboth -d 3.1.170.110/32 ! -i lo 
-A acctboth -s 10.8.0.1/32 ! -i lo -p tcp -m tcp --dport 80 
-A acctboth -d 10.8.0.1/32 ! -i lo -p tcp -m tcp --sport 80 
-A acctboth -s 10.8.0.1/32 ! -i lo -p tcp -m tcp --dport 25 
-A acctboth -d 10.8.0.1/32 ! -i lo -p tcp -m tcp --sport 25 
-A acctboth -s 10.8.0.1/32 ! -i lo -p tcp -m tcp --dport 110 
-A acctboth -d 10.8.0.1/32 ! -i lo -p tcp -m tcp --sport 110 
-A acctboth -s 10.8.0.1/32 ! -i lo -p icmp 
-A acctboth -d 10.8.0.1/32 ! -i lo -p icmp 
-A acctboth -s 10.8.0.1/32 ! -i lo -p tcp 
-A acctboth -d 10.8.0.1/32 ! -i lo -p tcp 
-A acctboth -s 10.8.0.1/32 ! -i lo -p udp 
-A acctboth -d 10.8.0.1/32 ! -i lo -p udp 
-A acctboth -s 10.8.0.1/32 ! -i lo 
-A acctboth -d 10.8.0.1/32 ! -i lo 
-A acctboth ! -i lo 
-A cphulk -s 22.16.21.100/32 -m state --state NEW -m time --datestop 2015-09-16T18:53:55 --utc -j DROP 
-A cphulk -s 0.0.0.0/32 -m state --state NEW -m time --datestop 2015-09-17T00:34:27 --utc -j DROP 
-A cphulk -s 4.68.02.109/32 -m state --state NEW -m time --datestop 2015-09-17T01:44:56 --utc -j DROP 
-A cphulk -s 9.1.218.145/32 -m state --state NEW -m time --datestop 2015-09-17T04:03:24 --utc -j DROP 
-A cphulk -s 3.1.4.79/32 -m state --state NEW -m time --datestop 2015-09-17T11:21:00 --utc -j DROP 
COMMIT

____VPN 사용 시 라우팅존재하다:

Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
default         10.8.0.77       128.0.0.0       UG    0      0        0 tun0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
10.8.0.1        10.8.0.77       255.255.255.255 UGH   0      0        0 tun0
10.8.0.77       *               255.255.255.255 UH    0      0        0 tun0
13.37.42.0      *               255.255.255.0   U     0      0        0 wlan0
ns350510.ip-37- 192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
128.0.0.0       10.8.0.77       128.0.0.0       UG    0      0        0 tun0
link-local      *               255.255.0.0     U     1000   0        0 eth0
192.168.0.0     *               255.255.254.0   U     0      0        0 eth0

___ 라우팅(VPN 사용 시)떠나다

Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
13.37.42.0      *               255.255.255.0   U     0      0        0 wlan0
link-local      *               255.255.0.0     U     1000   0        0 eth0
192.168.0.0     *               255.255.254.0   U     0      0        0 eth0

답변1

전달을 활성화할 수 있습니다.

echo 1 >/proc/sys/net/ipv4/conf/all/forwarding

또한 NAT/MASQUERADING과 마찬가지로 터널 IP(여기서는 10.0.0.0/8)가 비공개일 수 있습니다.

iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

관련 정보