利用openswan配置VPN服务

CentOS6.5  利用openswan xl2tpd配置VPN服务

OpenSWan是Linux下IPsec的最佳实现方式,其功能强大,最大程度地保证了数据传输中的安全性、完整性问题
OpenSWan支持2.0、2.2、2.4以及2.6内核,可以运行在不同的系统平台下,包括X86、X86_64、IA64、MIPS以及ARM
OpenSWan是开源项目FreeS/WAN停止开发后的后继分支项目,由三个主要组件构成:
配置工具(ipsec命令脚本)
Key管理工具(pluto)
内核组件(KLIPS/26sec)
26sec使用2.6内核内建模块Netkey,用来替代OpenSWan开发的KLIPS模块,2.4及以下版本内核无Netkey模块支持,只能使用KLIPS。如果你用的是2.6.9以上的内核,推荐使用26sec,可以不用给内核打Nat-T补丁就可以使用NAT,2.6.9以下版本内核的NETKEY存在Bug,推荐使用KLIPS

OpenSWan有两种连接方式:
1) Network-To-Network方式
Network-To-Network方式是把两个网络连接成一个虚拟专用网络。当连接建立后,每个子网的主机都可透明地访问远程子网的主机。要实现此种连接方式,要满足以下两个条件:
I. 每个子网各自拥有一台安装有OpenSWan的主机作为其子网的出口网关;
II.每个子网的IP段不能有叠加
2) Road Warrior方式
当使用Network-To-Network方式时,作为每个子网网关的主机不能像子网内部主机那样透明访问远程子网的主机,也就是说:
如果你是一个使用LClient的移动用户,经常出差或是在不同的地点办公,你的LClient将不能用Network-To-Network方式与公司网络进行连接。
Road Warrior方式正是为这种情况而设计的,连接建立后,你的LClient就可以连接到远程的网络了

#openswan配置

client1   192.168.10.2(网关192.168.10.1)

server1  192.168.22.210(内网192.168.10.1)

server2  192.168.22.199(内网192.168.20.1)

client2    192.168.20.2(网关192.168.20.2)

client1 ←—→ server1←———→ server2 ←—→  client2

10.2            22.210(10.1)         22.199(20.1)           20.2

安装openswan ipsec
在server:

vim /etc/sysctl.conf         #开启转发
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
sysctl -a | egrep "ipv4.*(accept|send)_redirects" | awk -F "=" ‘{print$1"= 0"}‘ >> /etc/sysctl.conf #禁用ICMP重定向
/sbin/sysctl -p
setenforce 0    
yum install openswan lsof
  
# ipsec --version
Linux Openswan U2.6.32/K(no kernel code presently loaded)
See `ipsec --copyright‘ for copyright information.
# service ipsec start
ipsec_setup: Starting Openswan IPsec U2.6.32/K2.6.32-431.el6.x86_64...
# ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                              [OK]
Linux Openswan U2.6.32/K2.6.32-431.el6.x86_64 (netkey)
Checking for IPsec support in kernel                         [OK]
 SAref kernel support                                        [N/A]
 NETKEY:  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]
Two or more interfaces found, checking IP forwarding         [OK]
Checking NAT and MASQUERADEing                               [OK]
Checking for ‘ip‘ command                                    [OK]
Checking /bin/sh is not /bin/dash                            [OK]
Checking for ‘iptables‘ command                              [OK]
Opportunistic Encryption Support                             [DISABLED]

配置ipsec

# vim /etc/ipsec.conf
version 2.0
config setup
        protostack=netkey
        nat_traversal=yes
        virtual_private=
        oe=off
        nhelpers=0
conn net-to-net
        authby=secret
        type=tunnel
        ike=aes256-sha2_256;modp2048
        phase2alg=aes256-sha2_256;modp2048
        left=192.168.22.210
        leftsubnet=192.168.10.1/24
        right=192.168.22.199
        rightsubnet=192.168.20.1/24
        forceencaps=yes
        dpddelay=1
        dpdtimeout=3
        dpdaction=restart
        auto=start
  #sha2_truncbug=yes
# vim /etc/ipsec.d/ipsec.secrets
192.168.22.210 %any 0.0.0.0: PSK "test"   #right的ip改一下
# service ipsec restart
# service ipsec status
# ipsec auto --up net-to-net             #测试上面定义的net-to-net
117 "net-to-net" #8: STATE_QUICK_I1: initiate
004 "net-to-net" #8: STATE_QUICK_I2: sent QI2, IPsec SA established tunnel mode {ESP/NAT=>0xb7ba4252 <0x98e5c578 xfrm=AES_256-HMAC_SHA2_256 NATOA=none NATD=192.168.22.199:4500 DPD=enabled}

#在client上面ping gateway的内网和另一个client的ip,是可以ping通的

#xl2tpd配置

Road Warrior模式

# yum install xl2tpd
会安装 libpcap-1.4.0,ppp-2.4.5,xl2tpd-1.3.6 三个包
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm   #yum安装不上,先安装这玩意

设置ipsec:

# grep -v ^\# /etc/ipsec.conf|sed ‘/^$/d‘
version 2.0 # conforms to second version of ipsec.conf specification
config setup
     # Debug-logging controls:  "none" for (almost) none, "all" for lots.
     # klipsdebug=none
     # plutodebug="control parsing"
     # For Red Hat Enterprise Linux and Fedora, leave protostack=netkey
     protostack=netkey
     nat_traversal=yes
     virtual_private=%v4:192.168.0.0/16,%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:!10.254.253.0/24
     protostack=netkey
     oe=off
     # Enable this if you see "failed to find any available worker"
     # nhelpers=0
     nhelpers=0
conn net-to-net
        authby=secret
        type=tunnel
        ike=aes256-sha2_256;modp2048
        phase2alg=aes256-sha2_256;modp2048
        left=192.168.22.210
        leftsubnet=192.168.10.1/24
        right=192.168.22.199
        rightsubnet=192.168.20.1/24
        forceencaps=yes
        dpddelay=1
        dpdtimeout=3
        dpdaction=restart
        auto=start
conn l2tp-psk
        authby=secret
        pfs=no
        auto=add
        rekey=no
        type=transport
        left=192.168.22.210
        leftprotoport=17/1701
        right=%any
        rightprotoport=17/%any
        rightsubnet=vhost:%priv,%no

配置xl2tpd

# grep -v ^\; /etc/xl2tpd/xl2tpd.conf|sed ‘/^$/d‘
[global]
listen-addr = 192.168.22.210
auth file = /etc/ppp/chap-secrets
[lns default]
ip range = 192.168.10.128-192.168.10.254
local ip = 192.168.10.1
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
# grep -v ^\# /etc/ppp/options.xl2tpd|sed ‘/^$/d‘
ipcp-accept-local
ipcp-accept-remote
ms-dns  114.114.114.114
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
logfile /var/log/xl2tpd.log
# cat /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret   IP addresses
vpn * vpn 192.168.10.22   #用户名为vpn,密码为vpn,分配的ip地址为192.168.10.22

#在xp系统验证
网上邻居--创建一个新的连接--vpn--输入gateway的ip--创建完毕后,右键--属性--安全,把"要求数据加密(没有就断开)"去掉,要不会出现错误 741

点击“IPSec设置”--“使用与共享的密钥作身份验证”输入上面的密钥“test”,就可以连接

# tail /var/log/xl2tpd.log    #查看日志
rcvd [IPCP ConfReq id=0x6 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfNak id=0x6 <addr 192.168.10.22> <ms-dns1 114.114.114.114> <ms-dns2 114.114.114.114>]
rcvd [IPCP ConfAck id=0x2 <addr 192.168.10.1>]
rcvd [IPCP ConfReq id=0x7 <addr 192.168.10.22> <ms-dns1 114.114.114.114> <ms-dns2 114.114.114.114>]
sent [IPCP ConfAck id=0x7 <addr 192.168.10.22> <ms-dns1 114.114.114.114> <ms-dns2 114.114.114.114>]
found interface eth0 for proxy arp
local  IP address 192.168.10.1
remote IP address 192.168.10.22
Script /etc/ppp/ip-up started (pid 7472)
Script /etc/ppp/ip-up finished (pid 7472), status = 0x0

参考网站:

http://www.freeswan.org/ 
https://github.com/xelerance/Openswan/wiki/L2tp-ipsec-configuration-using-openswan-and-xl2tpd 
http://segmentfault.com/blog/tyheist/1190000000646294

http://www.360doc.com/content/09/1105/16/25127_8448328.shtml

时间: 2024-10-12 13:32:35

利用openswan配置VPN服务的相关文章

windows server 2012 配置 VPN 服务

先决条件:请先安装Routing and Remote Access服务. VPN 服务器配置 安装Routing and Remote Access服务后,重启服务器,并打开Routing and Remote Access进行配置 选中服务器,点击鼠标右键,选择: Configure and Enable Routing and Remote Access 配置完成后,点开IPv4下的NAT,在NAT处点鼠标右键,添加New Interface 选中可以连接互联网的网络适配器 在NAT页面中

Windows Server 2012配置L2TP服务环境

在上一篇文章<Windows Server 2012配置VPN服务环境>中讲解了在Windows Server2012环境中的基础VPN搭建,但是只能支持PPTP的VPN连接.这篇文章进一步完善了VPN基于L2TP的连接讲解. 在百度上也没有找到一个Windows2012 很全的L2TP服务搭建的方案,所以自己编辑了一个给有需要的朋友们参考. 准备环境:Windows Server 2012R2 数据中心版64位,基础的VPN服务环境已经搭建完成. 功能需求:完善VPN服务器来支持L2TP类型

搭建VPN服务之pptp

pptp的特点: 优点:配置简单.易用.速度快 缺点:安全性,稳定性不如其他的VPN产品(OpenVPN,L2TP).受网络的影响较大. 配置VPN服务之pptp 1.查看设备是否支持pptp [[email protected] ~]# cat /dev/ppp  cat: /dev/ppp: 没有那个设备或地址 则表示支持pptp,大部分的linux系统都支持 2.下载安装pptp 更改epel源: [[email protected] ~]# wget -O /etc/yum.repos.

转 Windows server 2008 搭建VPN服务

VPN英文全称是“Virtual Private Network”,就是“虚拟专用网络”. 虚拟专用网络就是一种虚拟出来的企业内部专用线路.这条隧道可以对数据进行几倍加密达到安全使用互联网的目的. 此项技术已被广泛使用.虚拟专用网可以帮助远程用户.公司分支机构.商业伙伴及供应商同公司的内部网建立可信的安全连接,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网. 实验环境: 服务器系统:Windows server 2008 客户机系统:Windows server 2003 服务器双网卡

阿里云centos配置VPN(PPTPD服务)

因为公司网络访问限制影响,想配置个VPN服务,做其它访问使用,所以找了个外部服务器配置个VPN(PPTPD)服务. 环境:阿里云 centos 6.3 条件:服务器支持ppp[这里必须]和tun/tap[非必须](如需配openvpn必须) 具体安装如下: 1.  需要验证是否开启了ppp,一般只有VPS才需要验证,自己的服务器肯定是开启的. # cat /dev/ppp cat: /dev/ppp: No such device or address 如果出现以上提示则说明ppp是开启的,可以

CentOS6.8下搭建Ipsec+L2TP VPN服务

第二层隧道协议L2TP(Layer 2 Tunneling Protocol)是一种工业标准的Internet隧道协议,它使用UDP的1701端口进行通信.L2TP本身并没有任何加密,但是我们可以使用IPSec对L2TP包进行加密. l2tp就用xl2tpd,官网:http://www.xelerance.com/services/software/xl2tpd/ IPSec就是openswan,提供IPSec加密,官网是:http://www.openswan.org/code/ ,在cent

怎么配置VPN远程访问服务器?(图文详解)

VPN(VirtualPrivate Network)即虚拟专用网络,通过一个公用网络(如Internet)建立一个临时的.安全的.模拟的点对点连接.这是一条穿越公用网络的信息隧道,数据可以通过这条隧道在公用网络中安全地传输.借助VPN,企业外出人员可随时连到企业的VPN服务器,进而连接到企业内部网络. VPN工作原理:      *VPN客户端通过Internet将请求VPN发送到VPN服务器(请求拨入服务器) *VPN 服务器请求DC进行身份验证,然后得到授权信息 *VPN 服务器回应VPN

Windows server 2012 搭建VPN图文教程(三)配置VPN访问账户

Windows server 2012 搭建VPN图文教程(一)安装VPN相关服务 Windows server 2012 搭建VPN图文教程(二)配置路由和远程访问服务 Windows server 2012 搭建VPN图文教程(三)配置VPN访问账户 Windows server 2012 搭建VPN图文教程(四)客户端访问VPN测试 Part III 配置VPN访问账户 本部分主要介绍如何配置VNP相关服务以及配置VPN访问账户的方法,具体如下: 选择路由和远程访问服务器,右键,选择"属性

利用Openfiler配置基于文件系统的网络存储

一.Openfiler简介 Openfiler是一个操作系统,其提供基于文件的网络附加存储和基于块的存储区域网络功能. Openfiler支持的网络协议包括:NFS,SMB/CIFS,HTTP/WebDAV,FTP和iSCSI. Openfiler支持的网络目录包括:NIS,LDAP(支持SMB/CIFS密码加密),Active Directory(本地和混合模式),基于Windows NT的域控制器和Hesiod.认证协议包括Kerberos 5. Openfiler支持基于卷的分区技术:如本