论坛风格切换切换到宽版
  • 596阅读
  • 8回复

[问题求助]请教一个IPTABLES的问题 [复制链接]

上一主题 下一主题
离线lsp678.
 
发帖
2033
C币
-60763
威望
381
贡献值
1
银元
-3
铜钱
4575
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我用虚拟机做实验平台,.以下是我的模型--------------彩票

  .     客户机-------------------------------NAT服务器----.-----------------------.web,ftp服务器 .
       本机XP--------------------.-------------Linux--------------------------.-------.-W2K投资
      192..168.1.30.----------------192.168.1..1, 10.0.0.1-----------------------10.0.0.2服务器


我在Linux上用Iptables配置的NAT后,本机X.P可以正常访问.W2K的WEB,FTP.    美容
我想不让.192.168.1.30这个IP的机子访问W2K的WEB.,但是可以访问FTP和其它的WEB站点,.
那么规则应该写在Linux的那个.规则链里?<性病>
我在NAT表里写入iptables -t nat -A PREROUTING -d 10.0.0.2 -p .tcp --d.p.ort 80 -j DROP             电子
那.么192.168.1..0这一个段的IP都不能访问10.0.0.2的WEB了           鲜花
如果我写iptables -t nat -I POS.T.ROUT.ING -s 192.168.1.30 -p tcp --sport 80 -j DROP             汽车
那么我的XP将不能访问所.有的WEB站点了.外贸
可不可以写ipt.ables -t nat -A PREROUTING -s 192.168.1.30 -d 10.0.0.2 -p. tcp --dport 80 -j D.ROP健康
或者iptables -t nat -.I POSTROUTING -s 192.168.1.30 -d 10.0.0.2 -p .tcp --dpor.t 80 -j DROP.
我写了但是不起作用.
请问各位高手,我要实现此目的应该怎么写规则.,写在那个链里,另外我还想问一.下.我用的是REDHAT Linux9.0          婚庆
这个-d后面不能跟域名.,写域名它报错,为什么???             电子
请大家多多指点!!!http://upload.bbs.csuboy.com/Mon_1004/126_7109_ccb007eff2cd50a.gif[/img]            杀毒

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线龙逆天.
发帖
2080
C币
-604906
威望
399
贡献值
4
银元
-1
铜钱
4615
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
头一次请教问题,好像发错地方了,好像应该在网络与硬件里发,惭愧啊!!!

离线liangsyuan.
发帖
1924
C币
-60854
威望
337
贡献值
1
银元
-4
铜钱
4266
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
能看看你的所有的IP归着么?

一般来说,做nat的,只要你将 FORWARD 链的关掉就行了

如 iptables -I FORWARD 1 -s 192.168.1.30 -p tcp --dport 80 -d 10.0.0.2 -j REJECT

离线yonglin.
发帖
1999
C币
-235781
威望
348
贡献值
1
银元
0
铜钱
4371
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
我没有其它规则,就写了一个NAT的功能规则
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
eth0是内网的,192.168.1.1
eth1是外网的,10.0.0.1
然后想在这个基础之上对192.168.1.30访问10.0.0.2的web做拦截,但是允许192.168.1.30访问其它的WEB

发帖
1876
C币
-235812
威望
366
贡献值
1
银元
-3
铜钱
4235
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
我按照你的方法做成功了,谢谢高手,不过我还想问一下,后面的-j REJECT和-j DROP有什么区别?

离线re58.
发帖
2020
C币
-235673
威望
358
贡献值
1
银元
-1
铜钱
4480
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
斑竹,我遇到了一个奇怪的问题,还是我这个模型
      客户机-------------------------------NAT服务器---------------------------web,ftp服务器
       本机XP---------------------------------Linux----------------------------------W2K
      192.168.1.30----------------192.168.1.1, 10.0.0.1-----------------------10.0.0.2
我在Linux上用
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
这2个命令起了NAT功能
我的客户机XP可以用域名www.abc.com访问到W2K的WEB,
但是不能用域名www.abc.com访问到W2K的FTP,
提示:

打开FTP服务器的文件夹时发生错误,请检查是否有权限访问该文件夹权限
200 Type set  to A
500 Invalid PORT Command

但是我用IP地址可以访问。
如果我把XP的IP地址改为和W2K一个段的10.0.0.4的情况下,我用域名或者是IP都能直接访问到W2K的FTP,
我想知道问题是不是出在我的NAT服务器上,不知道是那里出了问题,我没有加额外的其他任何规则,请斑竹高手帮我分析一下,我很是郁闷。

[ 本帖最后由 cuisir 于 2006-4-18 01:32 编辑 ]

离线daofeng99.
发帖
2012
C币
-152620
威望
379
贡献值
1
银元
-5
铜钱
4612
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
modprobe ip_nat_ftp
再试试?

离线sharpgun.
发帖
2091
C币
-61352
威望
408
贡献值
1
银元
-2
铜钱
4672
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13


QUOTE:原帖由 platinum 于 2006-4-18 05:49 发表
modprobe ip_nat_ftp
再试试?


我按照斑竹你的方法做了,成功了,万分感谢!!
我正在努力看咱们论坛上的Iptables 指南 1.1.19帖子,有关ip_nat_ftp,和ip_conntrack_ftp这2个东西,是不是一个是NAT里用的,一个是FROWARD时用的,是不是相当于cisco里面的helper命令?请多多指教!!

另外一般做NAT时都需要modprobe那些东西?

[ 本帖最后由 cuisir 于 2006-4-18 12:43 编辑 ]

离线fuqi.
发帖
2052
C币
-60763
威望
381
贡献值
1
银元
-1
铜钱
4632
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13


QUOTE:原帖由 cuisir 于 2006-4-18 12:42 发表
是不是相当于cisco里面的helper命令?请多多指教!!

正解,类似 PIX 的
fixup protocol ftp 21
复制代码
Linux 下如果写,严格讲应该写成
modprobe ip_nat_ftp ports=21
复制代码
对于 pptp 的 VPN 透传问题,PIX 的解决办法是
fixup protocol pptp 1723
复制代码
Linux 的解决办法是
modprobe ip_nat_pptp
复制代码
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个