系统
系统我们就选择Centos 6/7,较方便
Centos IP配置方法
首先,进入/etc/sysconfig/network-scripts文件夹,ls查看本地网卡名称
如果配置的是像/24之类的IP段,可以用IP网关IP段计算器来计算出可用的IP段,网关与子网掩码。
一般本地网卡的名称都是eth0,我们可以nano ifcfg-eth0,如未安装nano,yum安装即可。
要新加IP的话,我们需要新建ifcfg文件,就命名为ifcfg-eth0-range0,接下来的文件名可以是range1 range2等等
其中CLONENUM_START是网卡的IP序号,range0从1开始,IP计算器计算有多少IP就加多少写到下一个配置文件中即可。
配置完成后需要重启网络使配置生效。
service network restart
centos需要花费一些时间来载入IP,等着就好了
L2TP/IPSEC的安装
这里我们采用秋水逸冰大佬的脚本来安装,
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh
chmod +x l2tp.sh
./l2tp.sh
在运行脚本后,出现输入IP-Range的地方时,就输入你想要的内网IP段,例如我,就配置了192.168.0.0/24,那就输入192.168.0
其他随意输入。
多用户对应多IP的配置方法
多用户的认证文件在/etc/ppp/chap-secrets文件内,格式类似
#用户名 服务器类型 密码 内网IP
jiuling l2tpd jiulingtest 192.168.0.2
如果是需要是任意IP的话,内网IP字段则写*
我这里有个已配置好的文件,建议使用UltraEdit编辑器,支持批量替换与列模式
https://raw.githubusercontent.com/Thnineer/Bash/master/Source/chap-secrets
接下来就是iptables的配置了,首先需要打开系统的IPV4转发功能,在/etc/sysctl.conf中
net.ipv4.ip_forward = 1
加上这个,如果是=0的话改成1即可,然后执行sysctl -p使配置生效
centos中iptables的配置文件在/etc/sysconfig/iptables文件中
需要删除L2TP安装脚本添加的nat转发规则,
-A POSTROUTING -s 内网IP/32 -j SNAT --to-source 外网IP
例如:
-A POSTROUTING -s 192.168.0.2/32 -j SNAT --to-source 7.7.7.7
-A POSTROUTING -s 192.168.0.3/32 -j SNAT --to-source 7.7.7.8
然后保存重启iptables和ipsec即可。
service iptables restart
service ipsec restart
常见问题
1、Windows可以连接,其他设备无法连接L2TP,怎么办?
答:需要在/etc/sysconfig/network-scripts中找到主IP的配置文件,将随便一个IP段配置文件的第一个IP留下来分配给主IP,作为L2TP的登录IP,然后重启网络,在/etc/ipsec.conf中将leftid字段中的IP修改为你新的主IP,然后重启network及ipsec即可。
service network restart
service ipsec restart