/modules.dep又是做什么用的?
呵呵
| ?中人 回复于:2005-03-24 07:31:31
|
是的, 我?同 platinum 兄的?法.
那些?定大都?了照?不同的?境, 因?您不?定?行 script 之前是怎??的.
不?, 若是在 redhat/fedora 系??,
我都是在 script ?加一行 /etc/rc.d/init.d/iptables stop ??境 reset 後再加新的??.
不?, ?主?的也不?道理.
道理在於指出了很多人或?不求甚解, 只?找著?人?好的例子硬套, 而?去按??情形??整.
?烈建?先搞懂原理连同每一行的意思, 再?使用 script 不?.
|
| ht11 回复于:2005-03-24 14:35:50
|
[quote:8fafedf287="platinum"]
更有modprobe,为什么要这么写?
我只加载ip_nat_ftp..........[/quote:8fafedf287]
菜鸟不怕答错,有收获就行。加载模块- -环境centos3.4,lsmod的话,这些模块几乎都有,只但是后面注释不同罢了,就拿ip_nat_ftp来说后面标明used为0,也就是依赖他的核心模块为0,所以后面[]里标注的为unused,再比如其他诸如ip_tables的模块,used都为几个,具体依赖的核心模块在后面的[]里都有,至于更有类似8139too之类的驱动模块,后面的[]依赖一般都是antouclean,我视为根据环境自动移除~
不知道这么回答有错否,偶手头上的资料只告诉了我这些,当然自己心里也没有底~明天把modprobe ip_nat_ftp注释掉,看下面的机器是否能正常上FTP就能清楚了
|
| platinum 回复于:2005-03-24 14:41:08
|
是这样
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比较特别
|
| ht11 回复于:2005-03-24 14:48:03
|
[quote:4cd336a45f="platinum"]但是,ip_conntrack_ftp和ip_nat_ftp比较特别[/quote:4cd336a45f]
绝对支持,同时愿闻其详,为这个我也很困惑,因为在modprobe这两项前后我都lsmod过,而且看到的结果都相同- -但是有很多朋友,就是没modprobe他们而无法通过地址转换连上公网的FTP,郁闷,感谢白金!!~
|
| platinum 回复于:2005-03-24 15:03:50
|
[quote:f28ba51705]
在modprobe这两项前后我都lsmod过,而且看到的结果都相同
[/quote:f28ba51705]
您先service iptables stop,然后lsmod确保里面没有模块
接着再执行您自己的防火墙shell试试?
|
| ?中人 回复于:2005-03-24 15:11:41
|
platinum 兄?是?大家解?一下 ftp 的 passive mode ? active mode 吧.
然後再??那?? ftp modules ?嘛用的, 自然好理解.
|
| ht11 回复于:2005-03-24 15:12:17
|
[quote:690fc4723c="platinum"]
您先service iptables stop,然后lsmod确保里面没有模块
接着再执行您自己的防火墙shell试试?[/quote:690fc4723c]
哦,那如此看来网中人所说的在 script ?加一行 /etc/rc.d/init.d/iptables stop ??境 reset 後再加新的??不是多余的,回家了拿家里的机器试~HOHO~~
|
| JavaJing 回复于:2005-03-24 15:24:52
|
modprobe这个模块使用起来不是那么习惯。
|
| ?中人 回复于:2005-03-24 15:33:46
|
modprobe 其?也是跑 insmod 而已.
只是 modprobe ??明的?相依存的必需 modules 也一? insmod ??.
就????, ?啥?不??的??.
至於 modules 被?入後, 怎样拔除, ?看系?的 module 管理了.
我不?定 iptables stop 後, ?否自? rmmod 啦.
既然有人去?, 那我?就等?果好了...
|
| platinum 回复于:2005-03-24 15:38:43
|
[quote:abb6ebf8ec="?中人"]platinum 兄?是?大家解?一下 ftp 的 passive mode ? active mode 吧.
然後再??那?? ftp modules ?嘛用的, 自然好理解.[/quote:abb6ebf8ec]
摘抄自 http://www.study-area.org/linux/servers/linux_nat.htm#ftp
请参考 http://www.study-area.org/linux/servers/linux_nat.htm#ftp
[quote:abb6ebf8ec]
在正常模式下?
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 封包。?完成任何交握手??成功建立??通道。
?始???送。
[/quote:abb6ebf8ec]
以下是我的理解
主动模式
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
|
| ht11 回复于:2005-03-24 15:39:36
|
[quote:238e83847e="?中人"]modprobe 其?也是跑 insmod 而已.
只是 modprobe ??明的?相依存的必需 modules 也一? insmod ??.
就????, ?啥?不??的??.
至於 modules 被?入後, 怎样拔除, ?看系?的 module 管理了.
我不..........[/quote:238e83847e]
这样一说。我倒觉得晚上有必要装个全新的centos看看了- -THX~
|
| ht11 回复于:2005-03-24 15:42:16
|
[quote:fa57d29fea="platinum"]
以下是我的理解
主动模式
server client
数据 命令 数据 命令
20 21 xx yy
| | | |
| |<----yy-----| |
| |--- yyok-..........[/quote:fa57d29fea]
受益~严重感谢
|
| ht11 回复于:2005-03-24 18:37:25
|
结果出来了,iptables stop确实能够让任何和iptables脚本有关的模块移出- -只剩下几个驱动模块了- -不得不对白金说佩服(毕竟是老江湖了),反复iptables stop和lsmod后。得出结论。只要您做的NAT脚本是正确的,假如您没modprobe任何模块的话。系统会自动载入
ip_tables
iptable_filter
ip_conntrack
iptable_nat
ipt_state
ipt_MASQUERADE
要加载的模块真的只要ip_nat_ftp和ip_conntrack_ftp了
谢谢白金和网中人
|
| skylove 回复于:2005-03-26 13:41:45
|
有空看看内存是否有泄露?? 我记得以前调试某个模块的时候,多移出/载入几次,系统就开始慢...到最后不报告错误,但是整个系统就相当慢了...象类似的模块载入第一次是无问题的.
|
| glider126 回复于:2005-03-29 14:38:39
|
请问:ip_nat_ftp和ip_conntrack_ftp
这2个模块各自是干什么的?
我的理解(呵呵,菜鸟理解):
ip_nat_ftp 是用在nat中控制ftp连接的
ip_conntrack_ftp 检查ftp的控制连接中的状态的
ip_conntrack_ftp被ip_nat_ftp调用。
看来有空还是用做试验~~~
|
| ?中人 回复于:2005-03-29 15:22:36
|
在做??之前, 可先用所?的基????一下, ?更有助理解.
首先要理解前面 platinum 兄?的?明, 也就是?於 ftp 的????模式.
然後再??分出 port command 的?容是在 ftp packet ?的, 而不是??在 tcp/ip header ?.
?我?的 firewall/nat 在?有 modules ?忙的情?下,
只??查及修改 tcp/ip header 的?容而不?去理? ftp packet 的?容.
如此, 在 ftp active mode 下,
??自 ftp server port 20 的 NEW packet 到? firewall/nat ?,
由於?有????也??先?好的??? packet 通?, 那?? ftp-data channel 就??掉.
若有 ip_conntack_ftp module 的?忙, firewall ???任何 port 21 相?的 tcp packet 展?查看?面的 ftp packet.
如??有 port command, 那可事先??? RELATED ???通??, ? ftp-data packet 穿? firewall .
然而 conntrack module 只是?控??, 不?? packet 做任何的修改.
?在 direct-routing ?境下的 firewall 就?用了.
但是在 nat ?境下呢?
先?我?看看 ftp packet ?的 port command 所使用的 address :
是使用 nat 之後的外部地址?是 nat 之前的?部地址呢?
假如?有 ip_ftp_nat module 的?忙, 那肯定是使用 nat 之前的?部地址.
??, ??另一端的 server/client 的 ftp-data packet 要送到哪?去?
呵, ?然是送到?部地址去啦. 但, ?在 internet 上是行不通的. 或根本就送?地方而遭 reset !
okay, 如此, 怎才能?另一端的 packet 送回?端的外部地址? 且?能改回到正?的?部地址去呢?
答案呼之欲出---就是 ip_nat_ftp 要做的事情!
|
| glider126 回复于:2005-03-29 17:32:08
|
?中人,正是功力深厚!
谢谢您的讲解,这样的讲解比得到一个现成的iptables配置要好数倍。
很多时候很容易知道怎么做,可是很难知道为什么这么做。
诶~~ 功力不够,向 ?中人 致敬!
先草草看了一遍您的讲解,90%理解,现在下班回家好好搞搞您所讲的内容。
万分感谢~~~
(conntrack module就是来看ftp的ftp-control channel里的port和passive的吧,只是监控作用,ip_ftp_nat通过调用conntrack看懂ftp的ftp-control channel里的ftp控制信息,然后ip_ftp_nat根据这些信息来打开相应的端口,让ftp的ftp-data channel穿过iptables)
|
| gydoesit 回复于:2005-03-31 18:28:19
|
我就从来没加载ftp这两个模块,似乎也从来没有问题.各位告诉我是怎么回事????
redhat9和fedora core3
|
| kawengao 回复于:2005-03-31 18:59:05
|
[quote:af07ea6dc6="?中人"]在做??之前, 可先用所?的基????一下, ?更有助理解.
首先要理解前面 platinum 兄?的?明, 也就是?於 ftp 的????模式.
然後再??分出 port command 的?容是在 ftp packet ?的, 而不是??在 tcp/..........[/quote:af07ea6dc6]
谢谢!
|
| ?中人 回复于:2005-03-31 23:02:08
|
[quote:4221ff2604="gydoesit"]我就从来没加载ftp这两个模块,似乎也从来没有问题.各位告诉我是怎么回事????
redhat9和fedora core3[/quote:4221ff2604]
???境???, ??"猜"起...
好歹, 您也???, ?一下 client, firewall/nat, server 的地址.
再?"完整"的???上?.
若能抓??包?看就更好了....
----p.s.----
天空??密?, 一位司?在?月亮也?路?也?任何照明??下,
???越一?九曲十八?的?道, ??毫??.
?甚??
|
| kecai_cale 回复于:2005-04-01 01:06:08
|
哎,学但是来了
|