OpenVPN对后端主机访问的两种方式(2)

openvpn servere有两块网卡,分别eth1和eth2,eth1为公网地址:10.0.0.4,eth2是内网网段,ip为192.168.10.10
openvpn分配的客户端地址是172.16.1.0/24,如下图所示:

在前面一张文章中如何安装已经实现点此直达安装openvpn,此时已经能够拨号连接,但是无法访问后端主机
如果,需要访问后端主机则需要在每台被客户端访问的机器添加路由
如下所示:
1,route add default gw 192.168.10.11
添加vpnserver主机的内网ip为被客户端访问主机的网关
2,route add -net 172.16.1.0/24 gw 192.168.10.11
添加net即可
以上两种只需要添加一个即可

注意:这种方式比较麻烦,意味着每一台内网机器(vpn访问的)都需要添加路由,这种方式在重启就会失效,则需要配置静态路由

1,/etc/sysconfig/static-router 默认不存在,需要创建
2,/etc/sysconfig/network-scripts/route-eth0
3,/etc/rc.local

NAT模式
上面的方法,需要在每台服务器上设置,较为麻烦,我们可以修改iptables即可
首先,关闭掉防火墙
一,添加

[root@node ~]# /sbin/iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth1-j SNAT --to-source 192.168.10.11

删除

[root@node ~]# /sbin/iptables -t nat -D POSTROUTING -s 172.16.1.0/24 -o eth1-j SNAT --to-source 192.168.10.11

二,如果你的地址不是固定,则可以使用如下这条:

[root@node ~]#/sbin/iptables -t nat -I POSTROUTING -s 172.16.1.0/24 -o eth1 -j MASQUERADE

注意:这是iptables的nat转换规则,其中:
1,-o eth1是为vpn服务器内网网卡
2,192.168.10.11为vpn服务器内网网卡ip
3,-j MASQUERADE自动转换,固定转换-j SNAT --to-source 192.168.10.11

这种方式需要停止掉防火墙,有一个原则就是,你需要在调试好VPN后才能调试防火墙,这样可能不是很友好,于是我们可以不需要停止防火墙就能使用,如下:
注释掉iptables两条规则,因为在默认中FORWARD是拒绝转发的,注释掉即可

#-A INPUT -p tcp --dprot 1194 -j ACCEPT
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited

启动iptables

/etc/init.d/iptables start

添加规则:

[root@node ~]# /sbin/iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth1 -j SNAT --to-source 192.168.10.11

查看

[root@node ~]# iptables -L -nv
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   25  1780 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
    4   572 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 22 packets, 3156 bytes)
 pkts bytes target     prot opt in     out     source               destination         
[root@node ~]# vim /etc/sysconfig/iptables

如果不想注释,也可以添加
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -i ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

至于其他细节配置则需要详细的配置实现
openvpn路由方式和NAT方式,NAT模式更加方便部署,路由的方式可以使用批量部署下发静态路由文件即可

0 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2016-03-13分类: Openvpn

标签: openvpn

发表评论