linux非常新,运行Ubuntu18.04LTS。
我希望在macos硬件&OS上复制我可以做的功能:与硬件接口共享OS级VPN连接。
在这种情况下,笔记本电脑连接到非服务器wifi,建立VPN隧道,然后将VPN与以太网接口共享,我在该接口上连接一个为客户端提供安全wifi/以太网的DD-WRT路由器(很明显是双nat)。在网关上使用带有实际操作系统的膝上型计算机的原因是通过浏览器(与许多酒店一样)处理专用门户。
这种设置使得客户端的流量不可能通过网关wifi泄漏,因为只有VPN连接是共享的。如果VPN中断,客户端根本就没有连接性。在使用l2tp的macos下做起来很容易。
在gnome GUI中,是否有一种相当简单的方法来做到这一点?我花了几个小时才让L2TP+IPsec隧道开始工作,最后还是放弃了。我现在正在使用OpenVPN。但是我找不到一种简单的方法来共享OpenVPN连接,特别是wifi,如果隧道掉了,它就会变得不安全,从而暴露客户端的流量。
谢谢!
发布于 2019-06-13 13:16:58
经过一些尝试和错误的帮助,从不同的论坛,我设法使这个工作。注意,我切换到了OpenVPN协议,因为它在linux中提供了更好的支持,而且总体吞吐量更好。
使用GUI可以完成的唯一部分是为OpenVPN连接和第二个接口上的客户端网络设置(这是在网络管理器中完成的)。在我的例子中,ens9是一个辅助以太网接口,我在唯一的本地子网上配置了静态IP。客户端设备被预先配置为使用此IP作为其网关。
我的解决方案的详细细节如下:https://www.linuxquestions.org/questions/linux-networking-3/share-vpn-with-ethernet-interface-4175655027/
VPN杀死-网关设备本身的交换机如下所示:
在/etc/sysctl.conf中进行这些更改
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
#enable packet forwarding
net.ipv4.ip_forward=1在ufw的默认配置文件(/etc/ default /ufw)中,进行以下更改:
DEFAULT_FORWARD_POLICY=“ACCEPT”通过命令行,编辑ufw规则如下:
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on tun0
sudo ufw allow out on wlp2s0 to XXX.YYY.ZZZ.AAA port 1194 proto udp在最后一行中,使用用于广域网连接的接口的名称(使用ifconfig命令查看所有接口),并为您的OpenVPN服务器使用IP地址和端口号--这可以从提供的ovpn.config文件中删除。
这让你在网关设备上有了一个可以工作的VPN杀死开关。最后一步是在辅助接口上伪装VPN连接(在我的例子中,称为ens9的以太网设备)。
不要使用来自nm连接编辑器的GUI方法来启用共享,它将绕过您的杀死开关。相反,通过在*filter标题上方添加nat部分来编辑文件/etc/ufw/ above .规则:
### Start OpenVPN Share rules
### NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.10.0/24 -o tun0 -j MASQUERADE
COMMIT其中,192.168.10.0/24代表客户端网络的IP地址范围。在我的例子中,我在这个范围内静态地定义了它。
差不多就是这样。我想我需要像这样的ufw规则:
sudo ufw allow out on ens9 to 192.168.10.0/24但没有它它就能正常工作。
https://askubuntu.com/questions/1148172
复制相似问题