[font=楷体_GB2312] 这几天,本人一直都在研究IPTABLES,因为准备做为公司的软路由嘛。经过对理论知识进行长期的研究(尽管看着很头疼),于昨天上午开始实战,战斗一直持续到现在,战况激烈,到了白热化阶段的时候,iptables出了一损招,使我方快败下阵了,无奈,到论坛里来帮救兵,希望各位大哥大姐参谋参谋,出出主意。在此,本人先谢谢大家了。
下面,我先把战况介绍:
我规划的是让iptables与squid合并,既是防火墙、又是透明代理。我是先与iptables斗,把iptables征服后再把铁蹄踏向squid。
CENTOS5.2(final) 2.6.18-92.el5
两千兆网卡,eth0:内网,192.168.1.1/24,eth1:外网,x.x.x.x。而且没有物理损坏。
以下是我的出招:
vi /etc/sysctl.conf
将net.ipv4.ip_forward = 0 改为 1,启用转发
cat /proc/sys/net/ipv4/ip_forward
1 #显示的是1哦
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -P INPUT DRPO
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
service iptables restart (注意,现在为此还没装SQUID)
然后,iptables不知道使用了哪一招,以至于出现如下情况:
在CENTOS上,既能访问内网,亦能访问INTERNET,但是,内网能PING到192.168.1.1,既CENTOS的eth0,可就死活访问不了INTERNET。
我看了下:/proc/sys/net/ipv4/ip_forward,显示的是:1.
如果说是我NAT的时候出了什么错的话,从命令来看,亦不可能啊,POSTROUTING、PREROUTING、OUTPUT和FORWARD都ACCEPT了,其它的策略我也没动,iptables也没出现什么出错的提示信息,/var/log/messages也是正常……(查了两天也没找出来原因)
所以,希望各位帮帮小弟,以便小弟彻底征服LINUX!
小弟在此多谢了!
[/font]


184294950 于 2009-03-16 17:29:13发表:
同意楼上的!另外 兄弟内网PC指网关了吗?还有你重启iptables后 他会生成自己的默认策略。所以 这条命令是多余的 只需要 输入 setup -firwall 把他设置成Enable 就行了
lifeng.0619 于 2009-03-09 19:30:04发表:
你应该是拒绝了所有的filter 的input 链 所有你只能ping出去 但是回不来 回应的应该是 time out 请求超时 所以你应该把这个input 写为允许
回忆是假的 于 2009-02-17 01:30:56发表:
不懂,路过学习
藤真 于 2009-02-05 21:34:45发表:
iptables -t nat -t nat -A NAT这里是不是多了一个NAT ??
karon_fedora 于 2009-02-03 14:56:48发表:
tcpdump抓下包包
iptables -P INPUT ACCEPT
blissday 于 2009-02-02 16:20:18发表:
版主啊,3楼有个灌水、广告二不像……
Dywesz 于 2009-02-02 16:08:45发表:
不懂哦