如何通过以太网共享 openvpn 连接?

如何通过以太网共享 openvpn 连接?

我正在尝试将 Linux 上的 openvpn 连接共享到我的 PC。我的 wan 连接通过 wlan0 进行,而我的 vpn 在 tun0 上。Eth0 是插入笔记本电脑的 cat5 电缆。我无法桥接 tun0,所以我不知道如何共享连接。顺便说一下,我的 vpn ip 是 10.8.0.3。有人能帮我吗?我也试过用 iptables 转发,但也没用。

答案1

有趣的问题。我们称 PC1 为运行 OpenVPn 的 PC,称 PC2 为通过电缆连接到 PC1 的 PC。

在 PC1 上,插入电缆后:

  ip link set dev eth0 down
  ip addr flush dev eth0
  ip addr add 10.8.0.5/24 dev eth0
  ip link set dev eth0 up
  ip route add 10.8.0.6/32 dev eth0

前两个命令纯粹是出于谨慎。

在 PC2 上:

  ip link set dev eth0 down
  ip addr flush dev eth0
  ip addr add 10.8.0.6/24 dev eth0
  ip link set dev eth0 up

然后,仍然在 PC2 上,

 ip route add default via 10.8.0.3

返回 PC1:

 iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

如果此方法不能立即奏效,请不要表现得像这家伙,尝试通过报告错误信息和其他方式来帮助自己。

编辑:

如果您想通过 OpenVPN 转发受限制机器的通信,则只需设置一个 dhcp 服务器来处理 PC1 和 PC2 之间的通信。我将给出 Debian 系列 PC 的说明,它们在其他发行版上类似(尽管不完全相同)。

 sudo apt-get install isc-dhcp-server

然后编辑 /etc/default/isc-dhcp-server 并修改 INTERFACES 行使其如下所示:

 INTERFACES="eth0"

如果 eth0 是连接 PC2 的电缆接口。否则,请相应地修改 eth0。

现在编辑 /etc/dhcp/dhcpd.conf 并引入以下行:

  option domain-name "mysecondlan.lan";
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  subnet 192.168.123.0 netmask 255.255.255.0 {
        range 192.168.123.1 192.168.123.10;
        option routers 192.168.123.1;

}

现在重启服务

  sudo service isc-dhcp-server restart

然后你就大功告成了。请记住,你可能必须使用交叉以太网电缆,特别是当你连接到 PC 时。

相关内容