如何让我的应用程序使用 tap0 设备而不是 eth0?

如何让我的应用程序使用 tap0 设备而不是 eth0?

我正在使用 Ubuntu,并尝试与 Endian 服务器建立 vpn 连接,该服务器似乎基于 openvpn。

我已经安装了 openvpn 并连接到服务器,使用以下命令:

sudo openvpn --client --pull --comp-lzo --nobind --dev tap0 --ca /home/tkn/efw.pem --auth-user-pass --remote vpn.domain.tld 1194

以上在常见问题解答中建议用于 Endian-vpn。

它似乎正在工作,因为我得到了以下输出:

Mon Aug 24 20:58:00 2009 OpenVPN 2.1_rc11 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Mar  9 2009
Enter Auth Username:tkn
Enter Auth Password:
Mon Aug 24 20:58:05 2009 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Mon Aug 24 20:58:05 2009 LZO compression initialized
Mon Aug 24 20:58:05 2009 UDPv4 link local: [undef]
Mon Aug 24 20:58:05 2009 UDPv4 link remote: 12.34.56.78:1194
Mon Aug 24 20:58:05 2009 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Mon Aug 24 20:58:05 2009 [127.0.0.1] Peer Connection Initiated with 12.34.56.78:1194
Mon Aug 24 20:58:06 2009 TUN/TAP device tap0 opened
Mon Aug 24 20:58:06 2009 /sbin/ifconfig tap0 192.168.10.153 netmask 255.255.255.0 mtu 1500 broadcast 192.168.10.255
Mon Aug 24 20:58:06 2009 Initialization Sequence Completed

但是,如果我打开浏览器并转到http://www.whatsmyip.org/,我会得到自己的 IP,而不是远程网络。此外,我的网络管理器没有列出该tap0设备。如果我选​​择“编辑连接”,它就会出现,但我无法从主下拉菜单中选择它。

我错过了什么?

答案1

尝试放线

redirect-gateway

在你的 OpenVPN 配置中

答案2

您要做的事情与 VPN 无关。您需要做的是设置路由,以便通过 VPN。

此外,如果您想将源 IP 地址伪装成主机的 IP 地址,您还需要在另一端设置 nat 路由器。

因此基本上你需要做的是:

  1. 设置客户端的路由表,以便默认路由通过 VPN - 但请确保您仍然有一条通过公共网络的特定 VPN 主机的路由(通过 VPN 发送 VPN 流量并不酷)
  2. 设置另一端的路由器,对客户端的 IP 地址进行源 nat,并设置适当的规则。

然后,路由器应该对客户端通过它路由的所有出站数据包的源地址进行 NAT,替换其自己的公共 IP(伪装)。然后,对于入站数据包,它应该执行相反的操作,数据包应该通过 VPN 返回。

答案3

您缺少默认路由,或者包含您想要通过 VPN 使用的所有内容的路由。

相关内容