在网上参考了多个教程,都没成功的架设好VPN,因为很多教程可能书写遗漏或者没注意到某些细节。所以这里再写一篇给大家参考!
系统:centOS 5.X 32位
查看系统版本和32位或64位
- cat /etc/redhat-release
- # 查看系统版本
- getconf LONG_BIT
- # 查看32位还是64位
执行后如图所示:
上面查看了系统号和位数后,我们开始来部署,首先安装必备依赖包
- yum install make gcc gmp-devel bison flex lsof
然后安装 openswan 2.6.38 【输入一行回车运行一次。询问是否的时候用yes!】
- yum install -y ppp iptables make gcc gmp-devel xmlto bison flex xmlto libpcap-devel lsof
- wget http://download.openswan.org/openswan/openswan-2.6.38.tar.gz
- tar zxvf openswan-2.6.38.tar.gz
- cd openswan-2.6.38
- make programs install
疑难解答: 第二行命令,使用wget的时候,可能会出现什么SSL的错误的情况,可以改用这个命令执行:
- wget --no-check-certificate http://download.openswan.org/openswan/openswan-2.6.38.tar.gz
安装xl2tpd ,运行下面的指令,注意区分 centOS 5 或者 6,运行第二、六行或者第四、六行!
- # CentOS 6 运行第二行:
- rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm
- # CentOS 5 运行第四行:
- rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/5/i386/epel-release-5-4.noarch.rpm
- # 下面这个是安装指令
- yum install xl2tpd -y
如果上面这个安装地址如果不对了。参照这个fedora epel的faq页:https://fedoraproject.org/wiki/EPEL/FAQ/zh-cn#How_can_I_install_the_packages_from_the_EPEL_software_repository.3F
安装其他一些linux软件源,参照这页:http://www.esojourn.org/blog/post/repo-sources.php
编辑 /etc/ipsec.conf
- # 打开文件
- vim /etc/ipsec.conf
- # 按下 insert 按键即可编辑:
- protostack=auto
- # 上面这一行修 auto 改为 netkey
- 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
- ikelifetime=8h
- keylife=1h
- type=transport
- left=公网IP地址
- leftprotoport=17/1701
- right=%any
- rightprotoport=17/%any
公网IP地址这个换成你的VPS 或服务器的IP地址,编辑好之后,按下 ESC 按键,然后按下ctrl+Q,输入 wq 回车后保存。下面附图
编辑密钥,这个密钥就是预共享密钥。
- # 打开文件
- vim /etc/ipsec.secrets
- # 按下 insert 按键即可编辑,输入:
- YOUR.SERVER.IP.ADDRESS %any: PSK "ABCDEFG"
ABCDEFG 改为你自己定义的密钥,记住下来,设备连接需要使用。编辑好之后,按下 ESC 按键,然后按下ctrl+Q,输入 wq 回车后保存。
修改 /etc/sysctl.conf
- # 打开文件
- vim /etc/sysctl.conf
- # 按下 insert 按键即可编辑,找到下面两行:
- net.ipv4.ip_forward = 0
- net.ipv4.conf.default.rp_filter = 1
- # 修改为如下两行:
- net.ipv4.ip_forward = 1
- net.ipv4.conf.default.rp_filter = 0
- # 再最后面加上下面语句:
- #added for xl2tpd
- 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
然后,编辑好之后,按下 ESC 按键,然后按下ctrl+Q,输入 wq 回车后保存,这里附图参考:
编辑 /etc/xl2tpd/xl2tpd.conf
- # 建立配制文件
- mkdir /etc/xl2tpd
- vim /etc/xl2tpd/xl2tpd.conf
- # 按下insert 输入如下内容:
- [global]
- ipsec saref = yes
- [lns default]
- ip range = 192.168.7.128-192.168.7.254
- local ip = 192.168.7.1
- ;require chap = yes
- refuse chap = yes
- refuse pap = yes
- require authentication = yes
- name = l2tpd
- ppp debug = yes
- pppoptfile = /etc/ppp/options.xl2tpd
- length bit = yes
注意,上面这里的name这一行最好写上,下面的另一个配制也定义了,值也是 l2tpd , 保持一致。然后,编辑好之后,按下 ESC 按键,然后按下ctrl+Q,输入 wq 回车后保存,这里附图参考:
2014年10月12日 16:11 -9楼
来看看博主
2014年10月14日 14:00 地下1层
@IT疯狂女 已回访