我试图分享我的networking之间的VPN连接没有任何运气。
我有一个办公室,有几台电脑,我们使用iptables和我们的DNS服务器共享互联网连接,我们也有邮件和FTP服务器。 我们的ISP不断改变那里的规则,他们开始阻止像25,21和143这样的一些端口。所以我能想到的最好的解决scheme是使用vpn服务,使用静态ip地址来代替我的ISP ip地址。
我需要我的本地networking中的所有计算机都使用VPN IP地址,而不是我的ISP IP地址。
我的networking基础设施是这样的:
具有2个NIC的主DNS服务器:/ etc / network / interfaces
auto lo eth0 eth1
iface lo inet loopback
#互联网
iface eth0 inet static
地址10.0.0.2#dsl调制解调器
networking掩码255.255.255.192
网关10.0.0.1
#本地
iface eth1 inet static
地址10.0.1.1#本地networking
networking掩码255.255.255.240
邮件服务器/ etc / network / interfaces
汽车
iface lo inet loopback
#主要networking接口
auto eth0
iface eth0 inet static
地址10.0.1.3
networking掩码255.255.255.240
网关10.0.1.1
在/etc/resolv.conf
nameserver 10.0.1.1
本地networking上的其他客户端
地址10.0.1.x networking掩码255.255.255.240 网关10.0.1.1 nameserver 10.0.1.1
我find了一种方法来分享使用这个VPN连接:
#Disable防火墙 iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -Pinput接受 iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT WAN = eth0的 VPN = TUN0 LAN = eth1的 echo 1> / proc / sys / net / ipv4 / ip_forward iptables --append FORWARD --in-interface $ LAN -j ACCEPT iptables --table nat --append POSTROUTING --out-interface $ WAN -j MASQUERADE iptables --table nat --append POSTROUTING --out-interface $ VPN -j MASQUERADE [/ CODE]
与此我的networking上的所有计算机使用VPN IP地址互联网。
我需要的是端口转发一些端口:
iptables -L -v
链接INPUT(策略接受107K数据包,53M字节) pkts字节目标人选退出源目的地 链FORWARD(策略ACCEPT 93343包,45M字节) pkts字节目标人选退出源目的地 117K 18M接受所有 - eth1任何地方的任何地方 链OUTPUT(策略ACCEPT 131K包,27M字节) pkts字节目标人选退出源目的地
iptables -L
连锁input(政策接受) 目标人select源目的地 连锁FORWARD(政策接受) 目标人select源目的地 随时随地接受 链式输出(策略ACCEPT) 目标人select源目的地
路线-n
内核IP路由表 目标网关Genmask标志度量参考使用Iface 174.37.222.38 10.0.0.1 255.255.255.255 UGH 0 0 0 eth0 10.0.1.0 0.0.0.0 255.255.255.240 U 0 0 0 eth1 10.0.0.0 0.0.0.0 255.255.255.192 U 0 0 0 eth0 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 tun0 0.0.0.0 10.10.11.1 128.0.0.0 UG 0 0 0 tun0 128.0.0.0 10.10.11.1 128.0.0.0 UG 0 0 0 tun0 0.0.0.0 10.0.0.1 0.0.0.0 UG 100 0 0 eth0
使用ifconfig
eth0 Link encap:Ethernet HWaddr 00:30:4f:1c:49:f8
inet addr:10.0.0.2 Bcast:10.0.0.63 Mask:255.255.255.192
inet6地址:fe80 :: 230:4fff:fe1c:49f8 / 64范围:链接
广播运行多播MTU:1500公制:1
RX数据包:107511错误:0丢弃:0超出:0帧:0
TX数据包:129620错误:0丢弃:0超载:0载波:0
碰撞:0 txqueuelen:1000
RX字节:56746295(56.7 MB)TX字节:29161617(29.1 MB)
中断:11基地址:0xc000
eth1 Link encap:Ethernet HWaddr 00:08:54:41:42:88
inet addr:10.0.1.1 Bcast:10.0.1.15 Mask:255.255.255.240
inet6地址:fe80 :: 208:54ff:fe41:4288/64范围:链接
广播运行多播MTU:1500公制:1
RX数据包:132276错误:0丢弃:0超出:0帧:0
TX数据包:105899错误:0丢弃:0超载:0载波:0
碰撞:0 txqueuelen:1000
RX字节:22646823(22.6 MB)TX字节:50537547(50.5 MB)
中断:10基地址:0xc400
链路封装:本地环回
inet addr:127.0.0.1掩码:255.0.0.0
inet6 addr::: 1/128范围:主机
UP LOOPBACK RUNNING MTU:16436公制:1
RX数据包:1501错误:0丢弃:0超出:0帧:0
TX包:1501错误:0丢弃:0超载:0载波:0
碰撞:0 txqueuelen:0
RX字节:192540(192.5 KB)TX字节:192540(192.5 KB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.204.139.115 PtP:10.204.139.115 Mask:255.0.0.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500公制:1
RX数据包:101518错误:0丢弃:0超出:0帧:0
TX数据包:127403错误:0丢弃:0超载:0载波:0
碰撞:0 txqueuelen:100
RX字节:46913004(46.9 MB)TX字节:19594649(19.5 MB)
在你的网关上试试这些规则:
-A PREROUTING -i $ VPN_INTERFACE -p tcp -m tcp --dport 80 -j DNAT - 到目的地$ INTERNAL_IP_DESTINATION:80 -A POSTROUTING -o $ VPN_INTERFACE -j SNAT - 从源到$ VPN_IP_OF_SERVER -A POSTROUTING -o $ LAN_INTERFACE -j SNAT - 对源$ LAN_IP_OF_SERVER
1。 一个使端口转发。
第2位。 使源NAT,所以每个来自VPN的数据包使用服务器IP
3。 使数据包转发到内部IP,具有服务器LAN IP地址