服务器:
公网服务器A(ip:121.199.x.x) centos6
内网测试服务器B(ip:10.10.1.160) centos6
网络:
公网 121.199.x.x/24
内网 10.10.1.1/24
vpn网络 10.10.16.1/24
需求:
公网服务器A需要能访问内网,因为svn服务器在内网。
vpn拨号后需要能访问到内网
方案:
vpn 服务架设在公网服务器A上(有公网ip),并分配vpn IP:10.10.16.1,
内网测试服务器B vpn拨号连接到服务器A,分配vpn ip:10.10.16.2,虚拟网卡ppp0
服务器A增加路由增加内网ip 10.10.1.1/24 路由到 10.10.16.2
内网测试服务器B增加转发规则将ppp0流量转发到内网
步骤:
- 开启公网服务器A和内网测试服务器B的ip_forward
1
2
3vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p - 在公网服务器A安装vpn服务配置:
1
yum install pptpd.x86_64
账号设置1
2
3
4
5
6vim /etc/pptpd.conf
localip 10.10.16.1
remoteip 10.10.16.3-20,10.10.16.245
vim /etc/ppp/options.pptpd
ms-dns 8.8.8.8
ms-dns 8.8.4.4重启vpn服务1
2
3vim /etc/ppp/chap-secrets
client server secret IP addresses
vpn pptpd xxx 10.10.16.21
service pptpd restart
- 公网服务器A设置内网路由
1
sudo route add -net 10.10.1.0/24 gw 10.10.16.2 dev ppp0
- 公网服务器设置转发规则
1
2> iptables -A POSTROUTING -s 10.10.16.0/24 ! -d 10.10.16.0/24 -j MASQUERADE
- 内网测试服务器B 安装vpn客户端
1
> yum install pptpsetup pptp
- 内网测试服务器B拨号
1
> pptpsetup --create test1 --server admin.wefit.com.cn --username vpn --password xxx --encrypt --start
- 内网测试服务器B流量转发
1
> iptables -A POSTROUTING -s 10.10.16.0/24 ! -d 10.10.16.0/24 -j MASQUERADE
- 内网测试服务B FORWARD
1
> iptables -I FORWARD -i ppp0 -o br0 -j ACCEPT
ps:
如果客户端提示:
LCP: timeout sending Config-Requests
sudo modprobe nf_conntrack_pptp