platinum 请进,关于你写一段iptables代码的问题[3]

[入库:2005年9月19日] [更新:2007年3月24日]

本文简介:

先端口映射建立ESTABLISH连接,然后端口映射没有转发功能, 
所以加FORWARD来进行转发, 
linux是一次选择,然后后面的数据直接转发吗? 
[/quote:0927eaf25c]
应该说,做了端口转发,但是被FORWARD限制住了,所以要单独开通一条回路,其他来自内部WEB服务器的一切对外主动请求都被禁止,只允许被动访问WEB


[quote:0927eaf25c]
我对这个例子理解不清楚 
Example iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 194.236.50.155-194.236.50.160:1024-32000 
这个例子中没有写内网的IP地址段,SNAT是默认找到内网IP地址段,然后在转换源地址,不需要自己在命令中手动添加-s 192.168.0.0/24吗? 


这样的话,任何一个机器都可以用你的机器来做网关进行转发,那岂不是很危险? ” 

我的想法就是想让内部网的IP全都上上网,如果加这个网段应该不算危险把,你觉得呢? 
[/quote:0927eaf25c]
对,我的意思就是加个网段
比如你的LAN是192.168.1.0/24,就写成
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
因为来自WAN的数据包的IP不可能是192.168.1.0/24,所以就安全了
(之所以这样写,是因为nat表的POSTROUTING链不能像filter表的INPUT那样指定来源设备)

 zifengling 回复于:2005-03-03 16:51:38 海之蓝 
我在苏州相城区陆慕
你呢!
有机会向你请教!

 海之蓝 回复于:2005-03-03 16:55:19 “外部的数据包通向内网IP的,ACCEPT 
而内部WEB相应外部引起的DNAT的被动连接,去回应外部的数据包(ESTABLISHED状态)的,ACCEPT 
RELATED是由一个已授权端口的程序发起的新连接状态,这个是FTP要用到的,写上也没关系 ”
我想弄明白是 外网 to 内网 ESTABLISHED,还是内网 to 外网 ESTABLISHED。
不知道你能看懂我什么意思吗?

在次感谢了!!

 platinum 回复于:2005-03-03 17:00:42 外网 --> 内网,建立了连接,就是ESTABLISHED状态
如果内网访问外网,是SYN请求
如果内网响应外网的连接,也属于ESTABLISHED状态

具体你要去看TCP/IP协议了,里面详细讲了TCP协议是如何进行三次握手的,以及各个状态的含义

 海之蓝 回复于:2005-03-03 17:08:22 呵呵,RORWARD终于懂了,在次谢谢老大的耐心指教。

“对,我的意思就是加个网段 
比如你的LAN是192.168.1.0/24,就写成 
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE 
因为来自WAN的数据包的IP不可能是192.168.1.0/24,所以就安全了 
(之所以这样写,是因为nat表的POSTROUTING链不能像filter表的INPUT那样指定来源设备)”
你的例子是用MASQUERADE 这个参数

我的意思是想想用SNAT这个参数,也就是在这个参数之前加-s 192.168.0.0/24吗? 
从而使192.168.0.0/24这个内网的能正常上网
具体就是
Example iptables -t nat -A POSTROUTING -p tcp -o eth0 -s 192.168.0.0/24-j SNAT --to-source 194.236.50.155-194.236.50.160:1024-32000 
你说可以吗?还是我对你所说的话理解有问题?

 platinum 回复于:2005-03-03 17:12:11 可以
不过一般不--to-source IP1-IPn:PORTm-PORTn
一般都是--to-source 公网IP

 海之蓝 回复于:2005-03-03 20:15:15 如果内网换成MAIL服务器,则也需要
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
这个命令吗?

zifengling,我现在住在娄葑那!
有机会多联系
我Q:5309278

 platinum 回复于:2005-03-03 20:17:30 [quote:eb330512b8="海之蓝"]如果内网换成MAIL服务器,则也需要
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
这个命令吗?

zifengling,我现在住在娄葑那!
有机会多联系
我Q:5309278[/quote:eb330512b8]
你认为和WEB有什么区别吗?

 海之蓝 回复于:2005-03-04 08:36:45 你的意思是说主要实现WEB的被动访问,
但是MAIL的发送端口25,是内网--->到外网的访问,这不是主动访问吗?
也就是没有办法通过FORWARD转发了啊呀,还是直接同过NAT转换出去,不经过FORWARD这个规则的筛选呢?

iptables -A FORWARD -p tcp -d 内网WEB1 --dport 80 -j ACCEPT 
iptables -A FORWARD -p tcp -d 内网WEB2 --dport 80 -j ACCEPT 
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A FORWARD -s 内网WEB1 -j DROP 
iptables -A FORWARD -s 内网WEB1 -j DROP 
我对上面5句的理解是:
来自外网对内网WEB1访问的80端口通过
来自外网对内网WEB2访问的80端口通过
对匹配“ESTABLISHED,RELATED ”允许连接
拒绝转发来自内网WEB1的所以有数据流
拒绝转发来自内网WEB2的所以有数据流

如果增加对MAIL的访问,需要哪里改动的呀?
增加
iptables -A FORWARD -p tcp -d 内网MAIL --dport 25 -j ACCEPT 
iptables -A FORWARD -p tcp -d 内网MAIL --dport 110 -j ACCEPT 
#PAT
iptables -t nat -A PREROUTING -d 公网IP -p tcp --dport 110 -j DNAT --to LAN-MAIL 

对于映射只要增加一个110端口映射可以吗,我个人理解MAIL对外网发送可以通过NAT转换就可以,不需要映射,你说对吗?

 platinum 回复于:2005-03-04 08:53:24 是这样的,MAIL服务器向外发信的时候,是需要做NAT出去的
别人发信进来,以及别人用OUTLOOK、FOXMAIL发信到你的邮件服务器的时候,是映射进来,二者都要有

所以我认为,策略应该变更为
来自外网对内网MAIL的25端口通过 
来自外网对内网MAIL的110端口通过
来自内网到外网的,目的端口是UDP/53的数据包通过
来自内网到外网的,目的端口是TCP/25的数据包通过
对匹配“ESTABLISHED,RELATED ”允许连接 
拒绝转发来自内网MAIL到外网的所有数据流

本文关键:platinum 请进,关于你写一段iptables代码的问题
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top