存档

文章标签 ‘NAT’

简要介绍一下用nat支持内网被动ftp的方法

2007年4月1日

先做如下假设:
内网的FTP地址为192.168.1.100
做网关的机器,公网IP 1.2.3.4,内网IP 192.168.1.1

这里要求你的网关的机器的iptables必须支持监听ftp的内容,也就是有如下模块:
ip_conntrack_ftp ports及ip_nat_ftp,可以用modprobe来监测是不是有。
如果没有的话,你就得自己编译的啦,还会动到内核,挺麻烦,patpat

insmod ip_conntrack_ftp ports=21
insmod ip_nat_ftp ports=21

iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp –dport 21 -j DNAT –to 192.168.1.100:21

另外,如果你的内网有多个FTP主机,你可以在网关上开1021,2021两个端口用以映射,上面的ports=21写成ports=1021,2021这个形式,下面的iptables命令也相应写两份。

最后,你还应该在内网的FTP上设源地址路由,使其往公网的流量走网关机,就OK啦。

网络 , ,

一些关于远程局域网接入、proxyarp的笔记

2007年3月3日

今天实现了把通过VPN拨入的远程主机加到本地的内网。

用了一些时间,其实核心步骤就是这些:

1.首先在本地局域网可与外网相连的边界服务器上建立vpn服务器。要设置服务器端IP与该机接内网的物理网卡所在的地址在同一个网段。还要设置允许客户机自己指定其地址。(具体设置方法详见http://space.loudly.cn/index.php/2/action_viewspace_itemid_77.html

2.开启proxyarp,其作用就是当物理局域网上的其它机器相与远程拨入者通信时,发arp请求,这个vpn服务器会把自己网卡的MAC返回给它,方法如下:

echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp

其中eth1就是指该边界服务器接局域网的网卡

3.要求远程主机设置静态路由,例如route add -net 192.168.1.0/24 ppp0,由于vpn是点到点连接的,虽然地址与局域网是同一个网段,但是还是要加这个路由的。

由上设置后,远程主机与物理局域网上的主机就能互联了,而且不同的远程主机之间也可以互联了。
我又用win2k3在路由与远程访问服务中添加了一个虚拟端口拨到这个linux的服务器上,并用nat带着另一个内网的机器也连到了该局域网,好强大啊。

网络, 运维 , ,