|
做NAT时候觉得- -网上好多脚本是不是规范的多余了没自定义链的情况下iptables -X没必要写-Z清零的话个人认为是要IPTABLES SAVE了之后才用根本就没想DORP三链的话,下面不用写iptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT下面三条最没必要写- -(泻特,难道默认的是DROP?)iptables -t nat -P PREROUTING ACCEPTiptables -t nat -P POSTROUTING ACCEPTiptables -t nat -P OUTPUT ACCEPT说实话,对-P真是不理解,它是要不符合规则的包强制使用策略----就是你后面注明DROP和ACCEPT的包但是如果设定为ACCEPT的话,默认都是ACCEPT的,还有必要着重强制一下对于INPUT链的安全问题,也不用在开头就-P INPUT DROP了等你把LO、$LAN和其他端口、ESTABLISHED都ACCEPT后再, -A INPUT DROP是一样的效果(反之也行),对单独做NAT的机器来说,$LAN(局网)都没必要ACCEPT,转发又不靠他,MRTG的话lo ACCEPT就够了- -万一你内网比外网还凶险的话,ACCEPT岂不是得不偿失,我们这就是,网吧,天天一大群大虾在下面扫你,看见有什么开着就动歪脑筋,OH MY GOD~还有modprobe,这玩意的写法怎么从LINUX7.3开始就没变过,唉~纯属菜鸟一番牢骚- -因为最近做NAT不停的兢兢业业按格式写脚本,打了N多份了,越大速度越不理想- -人都要崩溃了,最后居然是自己随手写的一个最不正规的脚本效果最好- -昏倒。-----QUOTE:原帖由 "ht11" 发表:做NAT时候觉得- -网上好多脚本是不是规范的多余了没自定义链的情况下iptables -X没必要写-Z清零的话个人认为是要IPTABLES SAVE了之后才用根本就没想DORP三链的话,下面不用写iptables -P INPUT ACCEPTipta你考虑问题太简单了[Copy to clipboard] [ - ]CODE:下面三条最没必要写- -(泻特,难道默认的是DROP?) iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT 这种东西看似没用,实际上是最严谨的写法,是可以让各种环境下的系统都可以正常运行脚本的意思,因为你无法猜测这个系统当前的默认规则到底是ACCEPT还是DROP还有modprobe,为什么要这么写?我只加载ip_nat_ftp和ip_conntrack_ftp,为什么?我不加载其他的模块,比如ipt_MASQUERADE、ip_conntrack,为什么?/lib/modules/;/modules.dep又是做什么用的?呵呵-----是的, 我認同 platinum 兄的說法.那些設定大都為了照顧不同的環境, 因為你不確定執行 script 之前是怎樣設的.不過, 若是在 redhat/fedora 系統裡,我都是在 script 裡加一行 /etc/rc.d/init.d/iptables stop 將環境 reset 後再加新的規則.不過, 樓主說的也不無道理.道理在於指出了很多人或許不求甚解, 只會找著別人寫好的例子硬套, 而沒去按實際情形來調整.強烈建議先搞懂原理以及每一行的意思, 再來使用 script 不遲.-----QUOTE:原帖由 "platinum" 发表:还有modprobe,为什么要这么写?我只加载ip_nat_ftp菜鸟不怕答错,有收获就行。加载模块- -环境centos3.4,lsmod的话,这些模块几乎都有,只不过后面注释不同罢了,就拿ip_nat_ftp来说后面标明used为0,也就是依赖它的核心模块为0,所以后面[]里标注的为unused,再比如其他诸如ip_tables的模块,used都为几个,具体依赖的核心模块在后面的[]里都有,至于还有类似8139too之类的驱动模块,后面的[]依赖一般都是antouclean,我视为根据环境自动移除~不知道这么回答有错否,偶手头上的资料只告诉了我这些,当然自己心里也没有底~明天把modprobe ip_nat_ftp注释掉,看下面的机器是否能正常上FTP就能清楚了-----是这样ipt_REDIRECTipt_MASQUERADEipt_LOGipt_stateiptable_natip_conntrackip_tables等等这些模块都会在使用iptables的时候自动加载,所以没必要手动modprobe比如当你-j MASQUERADE的时候,ipt_MASQUERADE会自动加载当你-m state的时候,ipt_state会自动加载当你-j DNAT或者SNAT的时候,iptable_nat会自动加载但是,ip_conntrack_ftp和ip_nat_ftp比较特殊-----[quote]原帖由 "platinum"]但是,ip_conntrack_ftp和ip_nat_ftp比较特殊[/quote 发表:绝对支持,同时愿闻其详,为这个我也很困惑,因为在modprobe这两项前后我都lsmod过,而且看到的结果都一样- -但是有很多朋友,就是没modprobe它们而无法通过地址转换连上公网的FTP,郁闷,感谢白金~-----QUOTE:在modprobe这两项前后我都lsmod过,而且看到的结果都一样你先service iptables stop,然后lsmod确保里面没有模块接着再执行你自己的防火墙shell试试?-----platinum 兄還是幫大家解釋一下 ftp 的 passive mode 與 active mode 吧.然後再來說那兩個 ftp modules 幹嘛用的, 自然好理解.-----QUOTE:原帖由 "platinum" 发表:你先service iptables stop,然后lsmod确保里面没有模块接着再执行你自己的防火墙shell试试?哦,那如此看来网中人所说的在 script 裡加一行 /etc/rc.d/init.d/iptables stop 將環境 reset 後再加新的規則不是多余的,回家了拿家里的机器试~HOHO~~-----modprobe这个模块使用起来不是那么习惯。 |