centos7怎么安装xl2tpd

centos7怎么安装xl2tpd,第1张

安装和启动Apache服务器,一共5个步骤.步骤/方法回到Webmin的服务器管理界面中,点击第一个图标就可以进入Apache服务器的管理界面。在“服务器”图标的下方,有如下子菜单:“模块配置”、“应用修改”、“停止/启动Apache”、“搜索文档”。然后,可以看到整个配置界面分为两个部分,一个是全局配置,一个是虚拟服务器配置。打开全局配置下的“网络和地址”图标,在“监听地址和端口”选项后,设置服务器的IP地址和https地址,并输入端口,如80、443。当然,用户也可以自己定义或修改端口。设置完毕,单击“保存”按钮。如果需要增加虚拟服务器,可以通过Apache服务器主界面中的“创建新的虚拟服务器”选项进行设置。首先指定地址和端口,然后单击“根文件”右边的按钮,选择“/var/www/html”,在“服务器名称”中填入地址。设置完毕。在缺省服务器的下方出现了一个虚拟服务器,旁边的注释说明了服务器的详细情况。点击此虚拟服务器的图标,即可进入其设置界面。除了通过Webmin进行配置外,用户还可以通过RedhatLinux上的设置工具进行修改。打开RedhatLinux中“应用程序”菜单上的“系统设置”菜单,选择“服务器设置”上的“HTTP”,也可以对虚拟主机进行修改,效果是一样的。单击“编辑”按钮就可以对虚拟主机的属性进行修改了。此外,还可以进行服务器、调整性能等方面的操作。配置完成后,点“启动Apache”,打开页面即可进行测试。

安装软件包

sudo apt-get install xl2tpd openswan ppp

IPSec / Openswan

打开 /etc/ipsec.conf 文件,做如下配置:

config setup

nat_traversal=yes

virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!10.152.2.0/24

# 这里包含的网络地址允许配置为远程客户端所在的子网。换句话说,

# 这些地址范围应该是你的NAT路由器后面的客户端的地址。

oe=off

protostack=netkey

conn L2TP-PSK-NAT

rightsubnet=vhost:%priv

also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT

authby=secret

pfs=no

auto=add

keyingtries=3

rekey=no

# Apple 的 iOS 不会发送 delete 提醒,

# 所以我们需要通过死亡对端(dead peer)检测来识别断掉的客户端

dpddelay=30

dpdtimeout=120

dpdaction=clear

# 设置 ikelifetime 和 keylife 和 Windows 的默认设置一致

ikelifetime=8h

keylife=1h

type=transport

# 替换 IP 地址为你的本地IP (一般是,私有地址、NAT内的地址)

left=x.x.x.x

# 用于升级过的 Windows 2000/XP 客户端

leftprotoport=17/1701

# 要支持老的客户端,需要设置 leftprotoport=17/%any

right=%any

rightprotoport=17/%any

# 强制所有连接都NAT,因为 iOS

forceencaps=yes

注意你的ipsec.conf文件,"config setup" 和 "L2TP-PSK-NAT"、 "L2TP-PSK-NAT"应该顶着行头写,而其它行应该以8个空格缩进。

打开 /etc/ipsec.secrets,配置:

x.x.x.x %any: PSK "somegoodpassword"

这里x.x.x.x 替换为你的服务器的IP地址,并设置一个复杂的密码。

启动 IPSEC 服务:

/etc/init.d/ipsec start

使用如下命令确认 ipsec 是否工作正常:

sudo ipsec verify

应该没有任何错误才行:

Checking your system to see ifIPsec got installed and started correctly:

Version check and ipsec on-path [OK]

LinuxOpenswan U2.6.28/K2.6.32-32-generic-pae (netkey)

CheckingforIPsec support in kernel [OK]

NETKEY detected, testing for disabled ICMP send_redirects [OK]

NETKEY detected, testing for disabled ICMP accept_redirects [OK]

Checking that pluto is running [OK]

Pluto listening for IKE on udp 500[OK]

Pluto listening for NAT-T on udp 4500[OK]

Checkingfor'ip' command [OK]

Checkingfor'iptables' command [OK]

OpportunisticEncryptionSupport[DISABLED]

在 /etc/init.d 下创建一个名为 ipsec.vpn 的文件,内容如下:

case"$1"in

start)

echo "Starting my Ipsec VPN"

iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24-j MASQUERADE

echo 1>/proc/sys/net/ipv4/ip_forward

for each in/proc/sys/net/ipv4/conf/*

do

echo 0 >$each/accept_redirects

echo 0 >$each/send_redirects

done

/etc/init.d/ipsec start

/etc/init.d/xl2tpd start

stop)

echo "Stopping my Ipsec VPN"

iptables --table nat --flush

echo 0 >/proc/sys/net/ipv4/ip_forward

/etc/init.d/ipsec stop

/etc/init.d/xl2tpd stop

restart)

echo "Restarting my Ipsec VPN"

iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j MASQUERADE

echo 1 >/proc/sys/net/ipv4/ip_forward

for each in /proc/sys/net/ipv4/conf/*

do

echo 0 >$each/accept_redirects

echo 0 >$each/send_redirects

done

/etc/init.d/ipsec restart

/etc/init.d/xl2tpd restart

*)

echo "Usage: /etc/init.d/ipsec.vpn {start|stop|restart}"

exit 1

esac

这会配置防火墙转发。记得修改上面文件的本地IP地址池10.152.2.0/24为你自己的。

然后给这个文件设置可执行权限:

sudo chmod 755 ipsec.vpn

禁止默认的 ipsec 服务脚本运行:

sudo update-rc.d -f ipsec remove

然后,启用我们刚才定制的这个:

sudo update-rc.d ipsec.vpn defaults

L2TP

修改 /etc/xl2tpd/xl2tpd.conf :

[global]

ipsec saref =no

[lns default]

ip range =10.152.2.2-10.152.2.254

local ip =10.152.2.1

require chap = yes

refuse pap = yes

require authentication = yes

ppp debug = yes

pppoptfile =/etc/ppp/options.xl2tpd

length bit = yes

配置说明如下:

ip range = 可以连接VPN服务的客户端IP地址范围

local ip = VPN 服务器的IP,必须在客户端IP范围之外

refuse pap = 拒绝 pap 认证

ppp debug = 测试时打开

选择一个复杂的挑战-响应式验证字符串。虽然没有最短长度限制,不过它应该至少有16个字符,也应该足够复杂才能保证安全。

打开文件 /etc/xl2tpd/l2tp-secrets ,填入你的密码:

** exampleforchallengestring

打开文件 /etc/ppp/options.xl2tpd,做如下配置:

refuse-mschap-v2

refuse-mschap

ms-dns 8.8.8.8

ms-dns 8.8.4.4

asyncmap 0

auth

crtscts

idle 1800

mtu 1200

mru 1200

lock

hide-password

local

#debug

name l2tpd

proxyarp

lcp-echo-interval 30

lcp-echo-failure 4

ms-dns 选项设置要给客户端分配的 DNS 服务器,当客户端连接时,就会被分配这些 DNS。如果要加入多个 DNS,就每行一个,分别写几行。

如果你要给客户端推送wins设置,可以分别设置如下选项。

mtu 和 mru 按照openswan.org的说法,减小 mru/mtu 的大小非常重要。因为 l2tp/ipsec 会封装几次,可能导致性能下降,减小这个配置的大小可以一次性传输全部的包。

proxyarp 可以将连接的客户端的IP地址和以太网地址加入的系统的ARP表中。这会影响到本地局域网内其它客户端。

name l2tpd 用在 PPP验证文件里面。

添加用户

打开文件 /etc/ppp/chap-secrets ,做如下配置:

user1 l2tpd chooseagoodpassword *

user2 * chooseagoodpassword *

每行包括如下字段:

客户端 = 用户名称

服务器 = 在上面的 /etc/ppp/options.xl2tpd 定义的名字

密码 = 用户密码,你应该设置一个足够复杂的密码

IP 地址 = * 表示用户可以从任何地址连接,否则设置用户只能从特定的地址连接

注意:你可以添加多个用户。

IP转发

打开文件 /etc/sysctl.conf,修改配置:

net.ipv4.ip_forward=1

载入新的配置:

sysctl -p

启动VPN

sudo /etc/init.d/ipsec.vpn restart

sudo /etc/init.d/xl2tpd restart

排除故障

如果遇到了问题,以下命令可以帮助你找到问题:

sudo tcpdump -i ppp0

sudo tail -f /var/log/auth.log

sudo tail -f /var/log/syslog

你可以可以在服务器上使用如下命令来监控:

sudo tcpdump -i eth0 host aaa.bbb.ccc.ddd andnot port ssh

这里aaa.bbb.ccc.ddd 是你的客户端的公网地址。

L2TP+IPSec虚拟专用网

特点:跨平台,数据加密传输,安全

1,部署IPSec服务

1)安装软件包

[root@client ~]# yum -y install libreswan

2)新建IPSec密钥验证配置文件

[root@client ~]# cat /etc/ipsec.conf //仅查看一下该主配置文件

.. ..

include /etc/ipsec.d/ .conf //加载该目录下的所有配置文件

[root@client ~]# vim /etc/ipsec.d/myipsec.conf 

//新建该文件,参考lnmp_soft/***/myipsec.conf 

conn IDC-PSK-NAT

rightsubnet=vhost:%priv //允许建立的×××虚拟网络

also=IDC-PSK-noNAT

conn IDC-PSK-noNAT

authby=secret //加密认证

ike=3des-sha1modp1024 //算法

phase2alg=aes256-sha1modp2048 //算法

pfs=no

auto=add

keyingtries=3

rekey=no

ikelifetime=8h

keylife=3h

type=transport

left=201.1.2.10 //重要,服务器本机的外网IP

leftprotoport=17/1701

right=%any //允许任何客户端连接

rightprotoport=17/%any

3)创建IPSec预定义共享密钥

[root@client ~]# cat /etc/ipsec.secrets //仅查看,不要修改该文件

include /etc/ipsec.d/

.secrets

[root@client ~]# vim /etc/ipsec.d/mypass.secrets //新建该文件

201.1.2.10 %any: PSK "randpass" //randpass为预共享密钥

//201.1.2.10是×××服务器的IP

4)启动IPSec服务

[root@client ~]# systemctl start ipsec 

[root@client ~]# netstat -ntulp |grep pluto

udp 0 0 127.0.0.1:4500 0.0.0.0:  3148/pluto 

udp 0 0 192.168.4.10:4500 0.0.0.0:

 3148/pluto 

udp 0 0 201.1.2.10:4500 0.0.0.0:  3148/pluto 

udp 0 0 127.0.0.1:500 0.0.0.0:

 3148/pluto 

udp 0 0 192.168.4.10:500 0.0.0.0:  3148/pluto 

udp 0 0 201.1.2.10:500 0.0.0.0:

 3148/pluto 

udp6 0 0 ::1:500 :::* 3148/pluto

3.2 部署XL2TP服务

1)安装软件包(软件包参考lnmp_soft)

[root@client ~]# yum localinstall xl2tpd-1.3.8-2.el7.x86_64.rpm

2) 修改xl2tp配置文件(修改3个配置文件的内容)

[root@client ~]# vim /etc/xl2tpd/xl2tpd.conf //修改主配置文件

[global]

.. .. 

[lns default]

.. ..

ip range = 192.168.3.128-192.168.3.254 //分配给客户端的IP池

local ip = 201.1.2.10 //×××服务器的IP地址

[root@client ~]# vim /etc/ppp/options.xl2tpd //认证配置

require-mschap-v2 //添加一行,强制要求认证 物联网开发找 上海捌跃网络科技有限公司

#crtscts //注释或删除该行

#lock //注释或删除该行

root@client ~]# vim /etc/ppp/chap-secrets //修改密码文件

jacob  123456  //账户名称 服务器标记 密码 客户端IP

3)启动服务

[root@client ~]# systemctl start xl2tpd

[root@client ~]# netstat -ntulp |grep xl2tpd 

udp 0 0 0.0.0.0:1701 0.0.0.0:* 3580/xl2tpd

4)设置路由转发,防火墙

[root@client ~]# echo "1" >/proc/sys/net/ipv4/ip_forward

[root@client ~]# firewall-cmd --set-default-zone=trusted

5)×××设置(非必需操作)

[root@client ~]# iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source 201.1.2.10

3.3客户端设置

1)新建网络连接,输入×××服务器账户与密码。

设置×××连接的属性,预共享密钥是IPSec配置文件中填写的randpass,具体操作如图所示。(高版本不用这么麻烦)

2)设置Windows注册表(不修改注册表,连接×××默认会报789错误),具体操作如下:(win7以上不用操作)

单击"开始",单击"运行",键入"regedit",然后单击"确定"

找到下面的注册表子项,然后单击它:

HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Rasman\Parameters

在"编辑"菜单上,单击"新建"->"DWORD值"

在"名称"框中,键入"ProhibitIpSec"

在"数值数据"框中,键入"1",然后单击"确定"

退出注册表编辑器,然后重新启动计算机

连接×××并测试网络连通性。

转自:http://blog.51cto.com/14050800/2314209


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/388697.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存