海运的博客

Centos安装配置L2tp/IPsec VPN服务器

发布时间:December 20, 2012 // 分类:VPN // No Comments

Centos通过Yum安装IPsecL2tp软件包,如无可安装EPEL扩展源

yum install openswan xl2tpd ppp

配置IPSEC用以加密数据:

cat > /etc/ipsec.conf << EOF
version 2.0
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
    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
    ikelifetime=8h
    keylife=1h
    type=transport
    left=服务器IP
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
EOF

配置IPsec验证密钥:

cat >> /etc/ipsec.secrets << EOF
服务器IP   %any:  PSK "验证密钥"
EOF

开启内核IP转发及关闭ICMP重定向:

cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.send_redirects = 0
EOF

启动IPsec服务并检测是否正常:

/etc/init.d/ipsec restart
ipsec verify

配置L2tpd用以封装数据:

cat > /etc/ppp/options.xl2tpd << EOF
[global]
ipsec saref = yes

[lns default]
ip range = 10.1.2.2-10.1.2.255
local ip = 10.1.2.1
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
EOF

配置PPP用以验证:

cat > /etc/xl2tpd/xl2tpd.conf << EOF
require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
EOF

设置L2tp验证用户名、密码:

cat >> /etc/ppp/chap-secrets << EOF
user        l2tpd      password        *

启动l2tp服务:

/etc/init.d/xl2tpd restart

开启Iptables SNAT:

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

Iptables下L2tp/IPsec规则:

iptables -A INPUT -p udp --dport 500 -j ACCEPT
iptables -A INPUT -p udp --dport 1701 -j ACCEPT
iptables -A INPUT -p esp -j ACCEPT

PPTPD VPN多IP指定不同用户使用不同IP

发布时间:June 20, 2012 // 分类:VPN // No Comments

安装PPTPD VPN见:http://www.haiyun.me/archives/centos-pptpd-vpn.html
首先为不同的用户指定不同的IP,IP网段为PPTPD配置参数remoteip 192.168.9.11-30。

echo "user pptpd password 192.168.9.15" >> /etc/ppp/chap-secrets

配置iptables为不同的源IP指定公网IP转发。

iptables -t nat -I POSTROUTING -s 192.168.9.15 -j SNAT --to-source 8.8.8.8

Windows 2003 VPS单网卡配置PPTPD VPN服务器

发布时间:April 20, 2012 // 分类:Windows,VPN // No Comments

Linux下配置pptpd请参考Centos下安装配置pptpd vpn,配置openvpn服务器请参考:Centos下yum安装配置OpenVPN服务器
1.首先打开路由和远程访问,开始——管理工具——路由和远程访问,或开始——运行——rrasmgmt.msc,然后右键服务器名称——配置并启动路由访问。
2012-04-20_133233.png
2.选择自定义配置,默认VPN需双网卡。
2012-04-20_134156.png
3.然后选择VPN访问和NAT路由。
2012-04-20_134407.png
4.完成并启动服务,然后配置客户端静态IP,右键服务器名称——属性——IP。
2012-04-20_135731.png
5.选择DHCP中继代理程序,删除内部接口,然后右键新建接口选择——本地连接。
2012-04-20_140155.png
6.右键选择NAT和防火墙,选择新建接口——本地连接,选择公用接口连接到internet和在此接口上启用NAT。
2012-04-20_140414.png
7.配置用户,管理工具——计算机管理——本地用户和组,选择相应用户——属性,添加允许VPN访问。
2012-04-20_140737.png

Centos下yum安装配置OpenVPN服务器

发布时间:April 7, 2012 // 分类:VPN // 12 Comments

OpenVPN是一款开源的VPN软件,使用ssl加密交换数据,数据比较安全,可使用TCP/UDP协议,自定义端口,不易被ISP控制,是替代PPTPD很好的选择。
Centos官方源无OpenVPN软件,可先安装EPEL源
安装:

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install openvpn

配置:

cp -R /usr/share/openvpn/easy-rsa/ /etc/openvpn/ #也有可能是下面的目录
#cp -R /usr/share/doc/openvpn-*/easy-rsa /etc/openvpn
#最新版本不包含easy-ras,需独立下载
#wget https://github.com/OpenVPN/easy-rsa/releases/download/2.2.2/EasyRSA-2.2.2.tgz
cd /etc/openvpn/easy-rsa/2.0
chmod +x ./*
source ./vars 此文件内变量可编辑,默认即可

生成密钥,默认回车即可。

./clean-all #清除所有生成的证书
./build-ca server #生成CA证书
./build-key-server server #生成服务器证书
./build-key client1 #生成客户端证书,多个请多次执行
#./build-key client2
./build-dh #生成Diffie Hellman参数
openvpn --genkey --secret ta.key #使用tls-auth防攻击,可选

编辑服务端配置文件:

vim /etc/openvpn/server.conf  #添加以下内容
port 1194 #默认监听端口,可修改
proto udp #默认udp协议,网络状况不好可选tcp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
tls-auth /etc/openvpn/easy-rsa/2.0/keys/ta.key 0
server 10.8.0.0 255.255.255.0 #客户端分配IP
client-to-client #允许客户端与客户端进行通信
keepalive 10 120 #每10秒询问在线,120秒无回应重新连接
#ping 10
#ping-restart 120 #类似于keepalive
comp-lzo
user nobody
group nogroup
#client-cert-not-required #使用密码验证
#auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env #使用文件内密码验证
#script-security 3 system #配合上面,允许文件内密码验证
#plugin /usr/lib/openvpn/openvpn-auth-pam.so login #使用系统用户验证
ifconfig-pool-persist ipp.txt #记录分配的IP
client-config-dir /etc/openvpn/client #针对特定用户的配置文件目录
persist-key #重新连接时不重新读取key
persist-tun #同上,不重新启用tun设备
status /var/log/openvpn-status.log
log   /var/log/openvpn.log
verb 4
duplicate-cn #一个证书可多次登录
push "dhcp-option DNS 10.8.0.1" #同步DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

打包并下载密钥

tar zcvf keys.tar.gz keys/

启动OpenVpn并开启内核转发:

service openvpn start #启动openvpn服务
chkconfig openvpn on #设置openvpn开机启动
echo 1 > /proc/sys/net/ipv4/ip_forward #启用转发
echo "echo 1 > /proc/sys/net/ipv4/ip_forward " >/etc/rc.local #加入启动项,也可修改sysctl

开启NAT路由:

iptables -t nat -A POSTROUTING  -o eth0 -j MASQUERADE
service iptalbes save #保存规则

到此服务端安装配置完成,然后安装配置Windows OpenVPN客户端
安装后将下载的密钥复制到安装目录config下,并新建配置文件client.ovpn,内容如下:

client 
dev tun 
proto udp
remote ip port #IP和端口请自定义填写
persist-key 
persist-tun 
ca ca.crt 
cert client1.crt 
key client1.key 
tls-auth ta.key 1
ns-cert-type server 
comp-lzo 
verb 3 
redirect-gateway def1 #设置为默认路由
script-security 2 system #允许使用系统命令添加路由
#route-method exe #同上,老版本使用
#route-delay 2

Ok,漫长的过程终于结束了,畅销您的安全互联网之旅吧。

Centos5 VPS安装PPTPD VPN

发布时间:July 26, 2011 // 分类:VPN // No Comments

Windows下安装请参考:Windows下单网卡安装配置PPTPD VPN服务器
使用pptpd官方源安装:

rpm -Uhv http://poptop.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm
yum install ppp pptpd

删除iptables规则

iptables --flush POSTROUTING --table nat

修改配置文件

vim /etc/ppp/options.pptpd

加入DNS服务器

ms-dns 8.8.8.8
ms-dns 8.8.4.4

配置IPV4转发开启,net.ipv4.ip_fouward = 0 其中0改为1

vi /etc/sysctl.conf
/sbin/sysctl -p

VPN IP设置

vim /etc/pptpd.conf

加入以下内容

localip 192.168.9.1
remoteip 192.168.9.11-30

设置VPN用户名和密码

#http://www.haiyun.me
vi /etc/ppp/chap-secrets
user pptpd password * 

设置iptables规则并启动pptpd

iptables -t nat -A POSTROUTING -s 192.168.9.0/255.255.255.0 -j SNAT --to-source `ifconfig \
 | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`
service iptables save
chkconfig iptables on
chkconfig pptpd on
ervice iptables start
service pptpd start
分类
最新文章
最近回复
  • 吴昊: 学习了,感谢博主分享
  • linhua: 只需配置 服务端 的接收端口随机化就行了, 发送端口 因为 连接追踪(conntrack)的缘...
  • Realm: 博主你好,按照你的教程设置了IP转发及SNAT:echo 1 > /proc/sys/net/...
  • Roki: 大神, 为什么我在make clean 就出错了呢 ?你能帮我看看吗 。。。474495758...
  • Duuge: 遇到相同的问题,但未能解决,请求帮助。1、遇到的问题:/target-i386_i486_uC...
  • carlo: 大哥,我觉得你的技术好牛逼!能加你QQ吗
  • lebron: Unknown package 'lrzsz'.Collected errors:* opkg...
  • Vicer: 在openwrt 15.05 下 luci 界面安装了 带操作界面的 openconnect ...
  • tutugreen: 搭建很顺利(唯一成功的www),链接很丝滑,谢博主。
  • 惊蛰: 您好,请问一下,我客户端和服务端都编译成功了,down到本地启动是这个样子,没有Forward...
页面执行耗时:0.0735秒。-->