这篇文章继续关于VPS上的Softether安装的最后一篇文章。
SecureNAT存在问题
SecureNAT是设置Softether的一个相当简单的方法。您不需要很多系统管理员技能和网络了解就可以启动和运行Softether。
问题是SecureNAT有点慢。我将在本文结尾处展示一个比较。
我们可以使用本地桥提升性能。
用本地桥软件
首先你需要安装和安装Softether。您可以按照VPS上的软件指南进行操作
只需跳过最后一步“启用虚拟NAT”
本地桥接设置
网络设置
VPN服务器IP:192.168.7.1
VPN客户端IP范围:192.168.7.50-192.168.7.60
点按设备名称:tap_soft
从这里我们转到“本地桥接设置”
首先我们选择虚拟集线器。它应该只有一个正常的设置。
然后我们检查水龙头设备盒。
之后,我们输入水龙头设备的名称(为简单起见,我在此使用软键)。
创建本地桥之后,我们跳回到我们的服务器。并运行
1 | # ifconfig tap_soft |
它应该向你展示类似的东西
因为我们不打算使用SecureNAT和SecureDHCP。我们需要在我们的VPS上安装DHCP服务器。我们将使用dnsmasq作为我们的DHCP服务器。
1 | # apt-get install dnsmasq |
现在编辑/etc/dnsmasq.conf文件。最后添加这3行。
1 2 3 | interface=tap_softdhcp-range=tap_soft,192.168.7.50,192.168.7.60,12hdhcp-option=tap_soft,3,192.168.7.1 |
以上3行用于启用tap_soft接口上的DHCP服务器。
下一步,我们需要一套新的初始化脚本,它将在Softether启动时为我们配置Tap接口。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #!/bin/sh### BEGIN INIT INFO# Provides: vpnserver# Required-Start: $remote_fs $syslog# Required-Stop: $remote_fs $syslog# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start daemon at boot time# Description: Enable Softether by daemon.### END INIT INFODAEMON=/usr/local/vpnserver/vpnserverLOCK=/var/lock/subsys/vpnserverTAP_ADDR=192.168.7.1test -x $DAEMON || exit 0case "$1" instart)$DAEMON starttouch $LOCKsleep 1/sbin/ifconfig tap_soft $TAP_ADDR;;stop)$DAEMON stoprm $LOCK;;restart)$DAEMON stopsleep 3$DAEMON startsleep 1/sbin/ifconfig tap_soft $TAP_ADDR;;*)echo "Usage: $0 {start|stop|restart}"exit 1esacexit 0 |
然后我们需要在Linux服务器上启用NAT。
将此文件添加到/etc/sysctl.d/以启用ipv4转发。
1 | net.ipv4.ip_forward = 1 |
应用sysctl运行
1 | # sysctl --system |
然后我们为iptables添加一个POSTROUTING规则
1 | # iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j SNAT --to-source [YOUR VPS IP ADDRESS] |
为了使我们的iptables规则在重新安装后生存下来 iptables-persistent
1 | # apt-get install iptables-persistent |
完成上述设置后,重新启动vpnserver,然后我们就可以开始了。
1 2 | # /etc/init.d/vpnserver restart# /etc/init.d/dnsmasq restart |
SecureNAT和本地网桥方法的比较。
结论
本地网桥使用比SecureNAT少得多的CPU资源。设置有点麻烦,但我认为使用本地桥是值得的。