分类: LINUX
2006-11-12 21:05:18
1.
nat主机linuxRH9.0,两个网卡。Eth0:123.45.67.89 eth1:10.0.0.1
客户机1:freeBSD 10.0.0.2
客户机1:freeBSD 10.0.0.3
主机上开了squid的代理服务,上级代理:123.45.67.77 dns:123.45.67.76
两台客户机都开了FTP服务
2.准备工作
安装网卡,启动ip_forward
echo “1” > /proc/sys/net/ipv4/ip_forward
或者修改/etc/sysconfig/network
把FORWARD_IPV4=false改成true
3.
编辑iptables的脚本
命名为iptables_rules
#! /bin/sh
#iptables -F
iptables -t nat -F
//清空filter nat表
#iptables – t nat -A PREROUTING -p tcp –dport 222 -i eth0 -j DNAT –to 10.0.0.2:22
#iptables – t nat -A PREROUTING -p tcp –dport 2222 -i eth0 -j DNAT –to 10.0.0.2:22
//将于访问222和2222分别重定向内部主机上
#iptables -t nat -A PREROUTING -p tcp –dport 21 -i eth0 -j DNAT –to 10.0.0.2-10.0.0.3
//实现简单的负载平衡
#iptables -t nat -A PREROUTING -I eth1 -p tcp –dport 80 -j REDIET –to-port 3128
//透明代理
#iptables -t nat -A POSRTOUTING -p tcp -s 10.0.0.0/24 -o eth0 -j SNAT –to 123.45.67.89:1025-65000
//对内部的网络做了除WEB访问之外的snat
#iptables -A INPUT -s 123.45.67.77 -j ACCEPT
//允许DNS通信
#iptables -A INPUT -s 10.0.0.0/24 -p tcp –dport 22 -j ACCEPT
//允许内部通过SSH登录本机
#deny all
iptables -A INPUT -J DROP
完毕
查看一下:
#iptables -L
#iptables -t nat -L
~~~如果不止一个公网IP,可以这样写snat
#iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j
SNAT –to 123.45.67.89-123.45.67.93
(下午在图书馆参考到,有些细节还待斟酌)