当前位置: 首页 > 工具软件 > xl2tpd > 使用案例 >

linux上xl2tpd的安装和配置

申屠黎昕
2023-12-01

概述

对于Ipv6-in-Ipv4的隧道,比较可行的方案有两种:l2tp和gre。gre如果通过nat与另外一端联通,需要一个私网nat之后的公网地址,使用的情况比较复杂。如果是使用l2tp的解决方案,无论内网使用何种拨号方式或者nat,只要客户端和服务器可以ping通,就可以建立隧道和传输Ipv6数据包。

安装与配置

(1) wgetmirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm,并安装这个yum源的软件包。

(2) yum install xl2tp (附带安装pppd,同时在server上和client上操作)

(3) server配置:

xl2tp.conf

[root@lbmaster reyzar]# cat /etc/xl2tpd/xl2tpd.conf |grep -v '^;'

[global]

#填写您的真实地址

listen-addr = 192.168.3.11

port = 1701

auth file =/etc/ppp/chap-secrets

 

[lns default]

ip range =192.168.1.128-192.168.1.254

local ip = 192.168.1.99

require chap = yes

refuse pap = yes

require authentication = yes

name = LinuxVPNserver

ppp debug = yes

pppoptfile =/etc/ppp/options.xl2tpd

length bit = yes

 

#ppp的配置文件

options.xl2tpd:

[root@lbmaster reyzar]# cat/etc/ppp/options.xl2tpd | grep -v '^#'

ipcp-accept-local

ipcp-accept-remote

ms-dns  8.8.8.8

noccp

auth

crtscts

idle 1800

mtu 1410

mru 1410

nodefaultroute

debug

lock

proxyarp

connect-delay 5000

 

#l2tp的使用的用户名和密码

chap-secrets:

[root@lbmaster reyzar]# cat /etc/ppp/chap-secrets

# Secrets for authenticationusing CHAP

# client    server   secret            IP addresses

"prin"       *    "prin"        *

 

(4) Client配置:

xl2tp.conf

[root@rs1 ~]# cat /etc/xl2tpd/xl2tpd.conf | grep -v"^;"

[global]

[lac vpn1]

#name必须是和vpn1.l2tpuser一致

name = prin

lns = 192.168.3.11

pppoptfile = /etc/ppp/peers/vpn1.l2tpd

ppp debug = yes

 

vpn1.l2tp:

remotename vpn1

user       "prin"

password      "prin"

unit 0

lock

nodeflate

nobsdcomp

noauth

persist

nopcomp

noaccomp

maxfail  5

 

(5) 运行xl2tpd

service xl2tpd start (clientand server)

echo "c vpn1" >/var/run/xl2tpd/l2tp-control (client)

几秒钟之后,在/var/log/messages下可以看到l2tp隧道建立、ppp0接口开启的日志输出

 

(6) 配置路由

客户端:

ip -6 route add default devppp0

服务器:

Ip -6 route add2001:192:168:3::/64 dev ppp0 (2001:192:168:3::/64是服务器所在的IPv6网段)

 

(7) crontab配置

使用crontab来实现ppp接口的例行检查和断线重连。

客户端:(这里是openwrt)

* * * * * test -n $( ifconfig | grep ppp0 ) && echo 'c vpn1' >/tmp/run/xl2tpd/l2tp-control && sleep 3 && ip -6 route adddefault dev ppp0

* * * * * test -n $( ip -6 route show | grep ppp0 ) && ip -6route add default dev ppp0

服务器:(Centos)

* * * * * root test -n $( ip -6 route show | grep ppp0 ) && ip -6route add 2001:192:168:3::/64 dev ppp0

重启,拨号测试,断线重连测试

 类似资料: