softether server使用本地网桥

我在softether server的安装配置(ubuntu、debian)中提到了“softether比较吃cup,如果你连接上服务器后,发现网速很慢,你可以边上网边看服务器cpu,是不是100%。如果是100%那么说明你服务器的cpu运算能力不强(主机商超售了)。”下面我将介绍这种cpu出现100%的处理方法:

1. 在softether VPN Server Manager里面关闭禁用“SecureNAT”

softether on VPS using local bridge1

2. 在”本地网桥“里面添加新的tap设备“soft”

softether on VPS using local bridge2

3. 输入命令:ifconfig tap_soft,如果可以看到tap_soft网卡信息,那么可以进行下一步,否则看看上面步骤是不是哪里出错了

softether on VPS using local bridge3

4、删除bind服务,安装dnsmasq服务
1
2
sudo apt-get -y purge bind9-*
sudo apt-get install dnsutils dnsmasq
5. 配置dnsmasq

编辑/etc/dnsmasq.conf,在其中加入:

1
2
3
4
5
6
7
interface=tap_soft
dhcp-range=tap_soft,192.168.8.50,192.168.8.90,1h
dhcp-option=tap_soft,3,192.168.8.1
dhcp-option=option:dns-server,192.168.8.1
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
listen-address=0.0.0.0,::

然后再编辑/etc/resolv.dnsmasq.conf(如果没有则创建),其中加入:

1
2
3
4
5
6
nameserver 8.8.8.8
nameserver 208.67.222.222
nameserver 156.154.70.1
nameserver 198.153.192.1
nameserver 114.114.114.114
#或者加入你喜欢的dns

6. 之后就是更改softetherserver的配置文件

编辑/etc/init.d/vpnserver,删除之前的所有配置,改为:

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 INFO
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
TAP_ADDR=192.168.8.1
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

7. 最后一步就是配置内核和iptables

编辑/etc/sysctl.conf,加入:net.ipv4.ip_forward = 1,然后运行sysctl -p,同步保存配置。
之后为了保证客户端连上服务器后能够上网,还需要设置iptables

1
2
iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source xxx.xxx.xxx.xxx
#这里的xxx.xxx.xxx.xxx改为你服务器的公网ip

然后重启dnsmasq和vpnserver服务:

1
2
sudo /etc/init.d/vpnserver restart
sudo /etc/init.d/dnsmasq restart

再次连接上网,看看cpu是不是占用很低了?