Quantcast
Channel: 看得透又看得远者prevail.ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
Viewing all articles
Browse latest Browse all 20473

在vpn上面实现透明代理

$
0
0
以前,曾经在ip tunnel上面实现过:
http://briteming.blogspot.com/2017/09/ip-tunnel-socks.html

但是当时openvpn怎么设置都不行,今天有一台内网的机器需要这么搞透明代理,ip tunnel不管用了,只能用vpn来搞了。

先设置好openvpn
A(内网):
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:183 errors:0 dropped:0 overruns:0 frame:0
          TX packets:134 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:27301 (26.6 KiB)  TX bytes:53300 (52.0 KiB)

B(外网):
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:134 errors:0 dropped:0 overruns:0 frame:0
          TX packets:186 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:53300 (52.0 KiB)  TX bytes:27457 (26.8 KiB)

现在需要实现的是所有发到B的外网ip,80端口的包,都转发到A的80端口:
B机器上面,开打ip转发:
B> echo 1 > /proc/sys/net/ipv4/ip_forward
增加DNAT的iptable:
B> iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp –dport 80 -j DNAT –to-destination 10.8.0.6

在A机器上面,增加一个路由表vpntun,先看看/etc/iproute2/rt_tables 里面有什么路由表,然后在决定TABLE_ID,取值是 0 – 255,但是 0,253,254,255 都是系统保留的,不能用:
A> echo “200     vpntun” > /etc/iproute2/rt_tables
然后增加vpntun的默认路由,这里也可以指定via,不指定的话ip route 会自动去找。
A> ip route add default dev tun0 table vpntun
(((
或者指定via:
 ip route add default dev tun0 via 10.8.0.5 table vpntun
)))
最后把从本机outbound的包,也就是从 10.8.0.6 发出来的包,全部指定查找路由表vpntun
ip rule add from 10.8.0.6 table vpntun
这样子,从A的tun0出去的响应包,就会默认回到B的vpn上面,再回到请求的client机上面。
这样实现的代理,传过来的ip包就是原来客户端请求的ip包,服务器也能直接拿到客户端的ip,所以对服务器来说,是透明的代理,其实应该叫NAT更好了,说明白一点就是端口映射,嘿嘿。

Viewing all articles
Browse latest Browse all 20473

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>