有些时候我们外网linux服务器需要访问内网的服务器,这时候就需要在外网服务器上配置l2tp的客户端,连接到VPN访问内网服务器。
安装:
yum -y install xl2tpd ppp
安装成功后,直接进入配置流程
配置:
配置过程也并不复杂,主要有两个文件。首先就是配置 /etc/xl2tpd/xl2tpd.conf 文件。此文件原有的内容是做服务端用的,而作为客户端使用只需保留如下配置:
[lac myvpn]
name = l2tp_user_name lns = l2tp_server_domain_or_ip pppoptfile = /etc/ppp/peers/myvpn.xl2tpd ppp debug = no
name和lns 按照实际情况进行修改
然后再配置 /etc/ppp/peers/myvpn.xl2tpd 文件,也就是上一项配置中的 pppoptfile 配置项中指定的文件。内容如下:
remotename myvpn
user "l2tp_user_name" password "l2tp_user_password" unit 0 nodeflate nobsdcomp noauth persist nopcomp noaccomp maxfail 5 debug
remotename 必须为上个配置中第一行中括号里面设置的 lac 名称,user和password按照实际情况进行修改。
启动:
完成上面的配置后,就可以启动服务了。启动服务的命令如下:
systemctl start xl2tpd
启动成功后,并不是表示就已经连接了,这只是一个守护进程。连接 L2TP 服务器的命令如下:
sh -c 'echo "c myvpn" > /var/run/xl2tpd/l2tp-control'
断开连接的命令为:
sh -c 'echo "d myvpn" > /var/run/xl2tpd/l2tp-control'
使用 ifconfig 查看网络设备,如果出现 ppp0 这个网卡项,表示连接成功了。 如果连接不成功,可以尝试在日志中找原因。查看连接日志的命令:
tailf /var/log/messages
如果连接成功了,也并不是表示从现在开始,流量都是从 L2TP 连接走的了。还有最后一步要走: 配置路由。
比如我在vpn服务端的ip为192.168.20.53,但是我要访问北京192.168.8.0/24 网络的主机。这就需要手动加路由。比如192.168.8.20,我可以使用下面的命令:
route add -host 192.168.8.20 dev ppp0