美咲唯番号:透过openvpn来访问内网资源

来源:百度文库 编辑:中财网 时间:2024/04/26 12:17:02

本文经高人指点:http://hi.baidu.com/jiekech00

客户端和服务器端走openvpn,服务器和客户机都不是网关设备,想让服务器可以通过隧道来访问客户端的内网的资源一直访问不了,后来发现要两边都要设置一下路由,然后在客户机上面设置一下SNAT进行源地址转换就可以了。

在VPN服务器的配置文件里面添加路由

client-config-dir ccd //在ccd文件里面有一个和客户端的证书同名的文件内容如下:

iroute 172.16.8.0 255.255.255.0 //让客户端在他本地添加一条路由

push "route 192.168.10.0 255.255.255.0" 为客户端push一条路由

route 172.16.8.0 255.255.255.0 在服务器本地添加一条路由

配置之后服务器上面的OPENVPN完整配置如下:
dev tun

proto udp

mode server

tls-server

server 10.1.1.0 255.255.255.0

ca /etc/openvpn/ca.crt

cert /etc/openvpn/server.crt

key /etc/openvpn/server.key

dh /etc/openvpn/dh1024.pem

ifconfig-pool-persist /etc/openvpn/ipp.txt

keepalive 10 120

client-config-dir ccd

push "route 192.168.10.0 255.255.255.0"

route 172.16.8.0 255.255.255.0

max-clients 50

persist-key

persist-tun

status /etc/openvpn/openvpn-status.log

log /etc/openvpn/openvpn.log

log-append /etc/openvpn/openvpn.log

mtu-test

verb 3

客户端的配置文件不用更改但是要在iptables里面添加一条SNAT转换,把从隧道过来的数据的源IP全部替换为客户端eth0网卡的IP地址用以进行内网的访问

iptables -t nat -A POSTROUTING -d 172.16.8.0/24 -j SNAT --to 1.1.1.1

echo 1 > /proc/sys/net/ipv4/ip_forward