컴퓨터에서 eth와 wlan을 "바인딩"하려면 ip_forwarding
설정 1을 사용하십시오.
VPN 서버에 액세스하기 위해 이러한 구성을 "라우팅/바인딩"하는 방법~에서 wlan
, 통과하다 eth
?
안나 클라이언트<-->wifi (wlan:13.37.42.1) [컴퓨터] eth0 <-- VPN --> 서버 3.1.170.110
현재는 작동하지 않습니다. 무슨 일이 일어나는지: Anna가 핑을 보내고 다음을 얻습니다.
- 핑 13.37.42.1 => 확인
- 핑 3.1.170.110 => 확인
- 핑 8.8.8.8 => 실패(GoogleDNS)
- ping anydomain.any => 실패(실제로 DNS에 액세스할 수 없기 때문에)
- 다른 IP에 대한 핑 => 실패
____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-3-1 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
__ 컴퓨터의 IPtables(WIFI AP 및 VPN 서버에 대한 링크 제공):
# Generated by iptables-save v1.4.21
*mangle
:PREROUTING ACCEPT [7471:1066114]
:INPUT ACCEPT [5960:830272]
:FORWARD ACCEPT [1339:216774]
:OUTPUT ACCEPT [717:92366]
:POSTROUTING ACCEPT [2116:318321]
:internet - [0:0]
-A PREROUTING -j internet
-A internet -m mac --mac-source 60:F8:4D:BE:43:AE -j RETURN
-A internet -j MARK --set-xmark 0x3e7/0xffffffff
COMMIT
# Completed
# Generated by iptables-save v1.4.21
*nat
:PREROUTING ACCEPT [1710:298954]
:INPUT ACCEPT [1480:280336]
:OUTPUT ACCEPT [28:4162]
:POSTROUTING ACCEPT [86:6162]
-A PREROUTING -i wlan0 -p tcp -m mark --mark 0x3e7 -m tcp --dport 80 -j DNAT --to-destination 13.37.42.1:80
-A PREROUTING -i wlan0 -p tcp -m mark --mark 0x3e7 -m tcp --dport 443 -m conntrack --ctstate NEW -j DNAT --to-destination 13.37.42.1:80
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o wlan0 -j MASQUERADE
COMMIT
# Completed
# Generated by iptables-save v1.4.21
*filter
:INPUT ACCEPT [6041:840617]
:FORWARD ACCEPT [380:110945]
:OUTPUT ACCEPT [753:102159]
-A FORWARD -i wlan0 -j ACCEPT
COMMIT
# Completed
답변1
and 를 바인딩하지 않는 것처럼 실제로 bind
eth0
and 를 바인딩하지 않습니다 . 실제로 변경 사항을 통해 영구적으로 또는 -ing 1을 사용하여 일시적으로 패킷이 한 인터페이스에서 다른 인터페이스로 전달되도록 설정할 수 있습니다 .tun0
wlan0
tun0
ip_forwarding=1
/etc/sysctl.conf
echo
/proc/sys/kernel/net/ipv4/ip_forward
누락된 유일한 것은 패킷 헤더의 변경입니다. 그대로 전달하도록 두면 패킷은 종료된 인터페이스의 IP가 아닌 종료된 컴퓨터의 원래 IP를 전달합니다. 시스템( wlan0
이 경우). 따라서 그들이 집으로 가는 길을 찾을 수 있도록 iptables
그들이 오는 것처럼 보이게 해야 합니다. 다시 라우팅되어야 하는 연결 과 그렇지 않은 연결을 자동으로 기억합니다.wlan0
iptables
tun0
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
편집하다:
eth0
귀하는 컴퓨터를 과(와) 동시에 연결 상태를 유지하려고 합니다 wlan0
. 내가 당신에게 주는 지침은 당신이오직을 통해 연결하세요 wlan0
. 이더넷 연결을 끊고 openvpn을 다시 시작한 후 실제로 작동하는지 확인해야 합니다.
eth0
wlan0
동시에 두 연결을 유지하고 OpenVPN 인스턴스를 시작하고 OpenVPN을 통해 wlan0
LAN 트래픽을 라우팅합니다 .tun0
할 수 있는가능하지만 다른 기술이 필요합니다. 이에 대해 다른 질문을 해보실 것을 제안합니다.