Iptables实例

948阅读 0评论2006-11-12 coologin
分类:LINUX

1.

nat主机linuxRH9.0,两个网卡。Eth0:123.45.67.89 eth1:10.0.0.1

客户机1freeBSD 10.0.0.2

客户机1freeBSD 10.0.0.3

主机上开了squid的代理服务,上级代理:123.45.67.77 dns123.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

//将于访问2222222分别重定向内部主机上


#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

(下午在图书馆参考到,有些细节还待斟酌)


上一篇:生活在缝隙中,我依然仰望
下一篇:生活