美咲唯番号:透过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