免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4271 | 回复: 3
打印 上一主题 下一主题

觉得iptable脚本真没必要那么规范 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2005-03-24 07:23 |显示全部楼层

觉得iptable脚本真没必要那么规范

原帖由 "ht11" 发表:
做NAT时候觉得- -网上好多脚本是不是规范的多余了
没自定义链的情况下iptables -X没必要写
-Z清零的话个人认为是要IPTABLES SAVE了之后才用
根本就没想DORP三链的话,下面不用写
iptables -P INPUT ACCEPT
ipta..........

你考虑问题太简单了

  1. 下面三条最没必要写- -(泻特,难道默认的是DROP?)
  2. iptables -t nat -P PREROUTING ACCEPT
  3. iptables -t nat -P POSTROUTING ACCEPT
  4. iptables -t nat -P OUTPUT ACCEPT
复制代码

这种东西看似没用,实际上是最严谨的写法,是可以让各种环境下的系统都可以正常运行脚本的意思,因为你无法猜测这个系统当前的默认规则到底是ACCEPT还是DROP

还有modprobe,为什么要这么写?
我只加载ip_nat_ftp和ip_conntrack_ftp,为什么?
我不加载其他的模块,比如ipt_MASQUERADE、ip_conntrack,为什么?
/lib/modules/<version>;/modules.dep又是做什么用的?

呵呵

论坛徽章:
0
2 [报告]
发表于 2005-03-24 14:41 |显示全部楼层

觉得iptable脚本真没必要那么规范

是这样
ipt_REDIRECT
ipt_MASQUERADE
ipt_LOG
ipt_state
iptable_nat
ip_conntrack
ip_tables
等等这些模块都会在使用iptables的时候自动加载,所以没必要手动modprobe

比如
当你-j MASQUERADE的时候,ipt_MASQUERADE会自动加载
当你-m state的时候,ipt_state会自动加载
当你-j DNAT或者SNAT的时候,iptable_nat会自动加载
但是,ip_conntrack_ftp和ip_nat_ftp比较特殊

论坛徽章:
0
3 [报告]
发表于 2005-03-24 15:03 |显示全部楼层

觉得iptable脚本真没必要那么规范

在modprobe这两项前后我都lsmod过,而且看到的结果都一样

你先service iptables stop,然后lsmod确保里面没有模块
接着再执行你自己的防火墙shell试试?

论坛徽章:
0
4 [报告]
发表于 2005-03-24 15:38 |显示全部楼层

觉得iptable脚本真没必要那么规范

原帖由 "網中人" 发表:
platinum 兄還是幫大家解釋一下 ftp 的 passive mode 與 active mode 吧.
然後再來說那兩個 ftp modules 幹嘛用的, 自然好理解.

摘抄自 http://www.study-area.org/linux/servers/linux_nat.htm#ftp
请参考 http://www.study-area.org/linux/servers/linux_nat.htm#ftp
在正常模式下﹕
1、FTP client 開啟一個隨機選擇的高於 1024 的 port 呼叫 FTP server 的 port 21請求連線。當順利完成 Three-Way Handshake 之後﹐連線就成功建立﹐但這僅是命令通道的建立。
2、當兩端需要傳送資料的時候﹐client 透過命令通道用一個 port 命令告訴 server ﹐客戶端可以用另一個高於 1024 的 port 做數據通道﹐並準備好 socket 資源。
3、然後 server 用 port 20 和剛才 client 所告知的 socket 建立數據連線。請注意﹕連線方向這是從 server 到 client 的﹐TCP 封包會有一個 SYN 旗標。
4、然後 client 會返回一個帶 ACK 旗標的確認封包﹐並完成另一次的 Three-Way Handshake 手續。這時候﹐數據通道才能成功建立。
開始數據傳送。

在 passive 模式下﹕
1、FTP client 開啟一個隨機選擇的高於 1024 的 port 呼叫 FTP server 的 port 21請求連線﹐並完成命令通道的建立。
2、當兩端需要傳送資料的時候﹐client 透過命令通道送一個 PASV 命令給 server﹐要求進入 passive 傳輸模式。
3、然後 server 像上述的正常模式之第 2 步驟那樣﹐挑一個高於 1024 的 port ﹐並用命令通道告訴 client 關於 server 端用以做數據通道的 socket。
4、然後 client 用另一個高於 1024 的 port 呼叫剛才 server 告知的 scoekt 來建立數據通道。此時封包帶 SYN 標籤。
5、server 確認後回應一個 ACK 封包。並完成所有交握手續﹑成功建立數據通道。
開始數據傳送。


以下是我的理解

主动模式
server           client
数据 命令        数据 命令
20   21              xx    yy
|      |                 |      |
|      |<----yy-----|      |
|      |--- yyok--->;|      |
|<---|------------|--->;|
|      |                 |      |

被动模式
server           client
数据 命令        数据 命令
zz   21              xx    yy
|      |                 |      |
|      |<--被动?---|      |
|      |--- zzok--->;|      |
|<---|------------|--->;|
|      |                 |      |


另外一点心得
假设A是CLIENT,B是SERVER
A->;B,都没有防火墙,可以使用主动、被动模式
A->;B,B有防火墙,B需要加载ip_conntrack_ftp
A->;B,A通过NAT出去,B有防火墙,B需要加载ip_conntrack_ftp,同时如果A的网关是LINUX系统,还必须加载ip_nat_ftp
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP