centos 安裝配置l2tp實現***

centos 安裝配置l2tp實現***node

 

1      前言vim

L2TP是一種工業標準的Internet隧道協議,功能大體和PPTP協議相似,好比一樣能夠對網絡數據流進行加密。不過也有不一樣之處,好比PPTP要求網絡爲IP網絡,L2TP要求面向數據包的點對點鏈接;PPTP使用單一隧道,L2TP使用多隧道;L2TP提供包頭壓縮、隧道驗證,而PPTP不支持。windows

MAC最新系統默認已經不支持pptp協議,因此配置l2tp較爲合適。centos

 

2      安裝配置服務器

2.1  安裝軟件包網絡

安裝環境包dom

yum install make gcc gmp-devel xmlto bison flex xmlto libpcap-devel lsof vim-enhanced manide

安裝l2tpflex

centos 6:ui

yum install openswan ppp xl2tpd

centos 7:

yum install  xl2tpd libreswan ppp

2.2  軟件配置

2.2.1      編輯xl2tpd配置文件

vi /etc/xl2tpd/xl2tpd.conf

[global]

[lns default]

ip range = 192.168.1.100-192.168.1.254   #分配給客戶端的地址池

local ip = 192.168.1.99

require chap = yes

refuse pap = yes

require authentication = yes

name = Linux×××server

ppp debug = yes

pppoptfile = /etc/ppp/options.xl2tpd

length bit = yes

 

2.2.2      編輯pppoptfile文件

vi /etc/ppp/options.xl2tpd

ipcp-accept-local

ipcp-accept-remote

ms-dns  8.8.8.8

ms-dns  8.8.4.4

noccp

auth

crtscts

idle 1800

mtu 1410

mru 1410

nodefaultroute

debug

lock

proxyarp

persist

connect-delay 5000

logfile /var/log/xl2tpd.log

 

2.2.3      編輯ipsec配置文件

vi /etc/ipsec.conf

默認就好:

config setup

        protostack=netkey

        dumpdir=/var/run/pluto/

        virtual_private=%v4:10.0.0.0/8,%v4:172.100.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10

        include /etc/ipsec.d/*.conf

vi /etc/ipsec.d/l2tp-ipsec.conf

conn L2TP-PSK-NAT

    rightsubnet=0.0.0.0/0

    dpddelay=10

    dpdtimeout=20

    dpdaction=clear

    forceencaps=yes

    also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT

    authby=secret

    pfs=no

    auto=add

    keyingtries=3

    rekey=no

    ikelifetime=8h

    keylife=1h

    type=transport

    left=114.114.114.114(服務器公網地址)

    leftprotoport=17/1701

    right=%any

    rightprotoport=17/%any

 

2.2.4      設置用戶名密碼

vi /etc/ppp/chap-secrets

#用戶名               服務名           密碼                                   指定IP

username         *       "password"                     *

 

2.2.5      設置PSK預共享密鑰

vi /etc/ipsec.secrets

include /etc/ipsec.d/*.secrets

114.114.114.114 %any: PSK "YourPsk"

###YourPsk爲預共享密鑰。114.114.114.114爲服務器公網IP

 

2.2.6      IP_FORWARD設置

vi /etc/sysctl.conf

追加或修改:

net.ipv4.ip_forward = 1

net.ipv4.conf.default.rp_filter = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.all.log_martians = 0

net.ipv4.conf.default.log_martians = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.icmp_ignore_bogus_error_responses = 1

生效:

sysctl –p

 

2.2.7      ipsec啓動

centos6:

/etc/init.d/ipsec restart

centos7:

systemctl restart ipsec

2.2.8      ipsec檢查

ipsec verify

正常的輸出:

Verifying installed system and configuration files

 

Version check and ipsec on-path                         [OK]

Libreswan 3.15 (netkey) on 2.6.32-573.3.1.el6.x86_64

Checking for IPsec support in kernel                    [OK]

 NETKEY: Testing XFRM related proc values

         ICMP default/send_redirects                    [OK]

         ICMP default/accept_redirects                  [OK]

         XFRM larval drop                               [OK]

Pluto ipsec.conf syntax                                 [OK]

Hardware random device                                  [N/A]

Two or more interfaces found, checking IP forwarding    [OK]

Checking rp_filter                                      [OK]

Checking that pluto is running                          [OK]

 Pluto listening for IKE on udp 500                     [OK]

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

 Pluto ipsec.secret syntax                              [OK]

Checking 'ip' command                                   [OK]

Checking 'iptables' command                             [OK]

Checking 'prelink' command does not interfere with FIPS [PRESENT]

Checking for obsolete ipsec.conf options                [OK]

Opportunistic Encryption                                [DISABLED]

 

 

2.2.9      xl2tpd啓動

centos6:

/etc/init.d/xl2tpd restart

centos7:

systemctl restart xl2tpd

 

2.2.10    日誌配置

記錄對方IP地址:

這裏能夠利用syslog來配置,在/etc/rsyslog.d/ 下新建20-xl2tpd.conf文件,內容以下:

vi /etc/rsyslog.d/20-xl2tpd.conf

if $programname == 'xl2tpd' then /var/log/l2tp-***.log

&~

 

這裏能夠利用syslog來配置,在/etc/rsyslog.d/ 下新建20-pptpd.conf文件,內容以下:

vi /etc/rsyslog.d/20-pptpd.conf

if $programname == 'pppd' then /var/log/l2tp-***.log

&~

 

重啓rsyslog服務

centos6:

/etc/init.d/rsyslog restart

centos7:

systemctl restart rsyslog

 

記錄用戶名和登陸時間:

在/etc/ppp/ip-up 腳本中加入

echo >> /var/log/l2tp-***.log

echo "Start_Time: `date -d today +%F_%T`" >> /var/log/l2tp-***.log  ##登陸時間戳

echo "username: $PEERNAME" >> /var/log/l2tp-***.log  ##用戶名

echo >> /var/log/l2tp-***.log

 

在/etc/ppp/ip-down 腳本中加入

echo "Stop_Time: `date -d today +%F_%T`" >> /var/log/l2tp-***.log  ##斷開時間戳

echo "username: $PEERNAME" >> /var/log/l2tp-***.log  ##用戶名

echo >> /var/log/l2tp-***.log

 

2.2.11    使用×××服務器公網作爲客戶端互聯網出口(跳板機、代理)

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE (eth1爲公網網卡)

2.2.12    訪問×××服務器所在的內網其它服務器

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE (eth0爲私網網卡)

2.3  客戶端鏈接(windows)

注意這裏只是說明windows方法,MAC和手機方法大體相同:

 

 

 

 

 

 

 

 

 

 

 

 

直接鏈接便可

如遇不能訪問谷歌和youtube,但能訪問facebook,頗有可能註冊表被修改致使。

查看註冊表並恢復:

1. 單擊「開始」,單擊「運行」,鍵入「regedit」,而後單擊「肯定」

2. 找到下面的註冊表子項,而後單擊它:

HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Rasman\Parameters

 

確保是0不是1

若有ProhibitIpSec,將其刪除       

相關文章
相關標籤/搜索