如何绑定wlan和tun

如何绑定wlan和tun

当您想要在计算机上“绑定”eth 和 wlan 时,请使用ip_forwarding设置为 1。

如何“路由/绑定”这样的配置来访问 VPN 服务器 wlan, 通过eth

anna 客户端 <-->wifi (wlan:13.37.42.1) [计算机] eth0 <-- VPN --> 服务器 3.1.170.110

目前它不起作用。发生了什么:Anna ping 并得到:

  • ping 13.37.42.1 => 正常
  • ping 3.1.170.110 => 正常
  • ping 8.8.8.8 => 失败 (GoogleDNS)
  • ping anydomain.any => 失败(确实,因为 DNS 无法访问)
  • ping 任何其他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

你并不真正绑定bind eth0和 ,tun0正如你不绑定wlan0和一样tun0。实际上,您可以通过设置 来允许数据包从一个接口传递到另一个接口,ip_forwarding=1或者通过更改 永久地更改/etc/sysctl.conf,或者通过 echo-ing 1临时地设置/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 实例并通过 OpenVPNwlan0路由 LAN 流量tun0可以完成,但需要不同的技术。我建议你对此提出一个不同的问题。

相关内容