使用softether在centos或者ubuntu上连接服务器的时候,会发现和windows连接时不一样,windows连接之后会自动分配目标网段的ip,并且修改路由表,而linux客户端不具备这个功能,所以需要我们手动修改一下路由配置,但是现在中文网络环境搜索到的教程要么是错误的,要么描述不太明确,这里给出一个连接之后设置的完整教程。
环境描述:
服务器地址:123.123.123.123
需要接入的ip网段:192.168.0.0/24
本地的ip网段:192.168.1.0/24
如果在windows下,使用客户端连接123.123.123.123,连接成功后本地将同时具有192.168.0.0和192.168.1.0两个网段的ip地址。
安装和配置过程略,网上教程很多。
以下以centos为准。
安装完成后执行./vpnclient start启动,并填写服务器相关信息,建立虚拟网卡的名称使用默认,这样使用ip addr查看的时候网卡名称为vpn_vpn。
使用vpncmd连接,连接成功后执行ip addr发现vpn_vpn并没有ipv4的地址。
执行
dhclient vpn_vpn
稍等之后可以看到虚拟网卡已分配需要接入网段的ip地址,如192.168.0.100,此时ping 192.168.0.0网段其他的ip并不能ping通。
执行
ip route add 123.123.123.123 via 192.168.1.1
ip route del default via 192.168.1.1
再次ping 192.168.0.0网段其他ip,发现可以ping通了。
这里比较反人类的地方是增加的静态路由是将本地的网关转发到服务器地址,这也是很多人在看了教程之后还不会弄的原因,因为教程描述很模糊,一般人不会想到是这样加路由。