如何用iptables使本地机只能接收来自WEB服务器返回的数据包?而其它对本地机的连接被DROP。

由 prolife 在 05-23-2003 13:30 发表:

如何用iptables使本地机只能接收来自WEB服务器返回的数据包?而其它对本地机的连接被DROP。

1,访问web服务器时, 服务器返回的数据包所连接的本机端口是随机的吗?

2,如果要用iptables来使本机的WEB访问正常,即可以使web服务器返回的数据包被

accept,而其它未受权的对本机端口的连接被drop,

这条INPUT规则应该如何写呢???

机子是adsl动态IP上网


由 prolife 在 05-23-2003 13:37 发表:


我的意是说,机子对外网的访问没有任何限质,

但访问 web服务器时,服务器要返回数据包呀,

要怎样用iptables 才能使返回的数据包accept??


由 chouyouyou 在 05-23-2003 14:34 发表:


iptables -N mine

iptables -A mine -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A mine -m state --state NEW -i ! ppp0 -j ACCEPT

iptables -A INPUT -j mine

iptables -A OUTPUT -j mine

iptables -A FORWARD -j mine


由 prolife 在 05-23-2003 15:15 发表:


谢谢“转悠悠”兄!!!!!!


由 prolife 在 05-23-2003 15:25 发表:


iptables -A mine -m state --state NEW -i ! ppp0 -j ACCEPT

这条语句是什么意思?又是-m state参数不懂得,

能否详细介绍一下 -m 的参数?或者给我一个网址,让我自己去看,不要是洋文~~呵,看不懂,

非常感谢!!!


由 prolife 在 05-23-2003 15:43 发表:


转悠悠兄,有错呀,我把iptables写在/etc/rc.d/firewall

执行时,出现以下错误:

iptables: Chain already exists

iptables: No chain/target/match by that name

这是iptables配置文件

iptables -F INPUT

iptables -F OUTPUT

iptables -F FORWARD

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

#iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

#iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT

#iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

#iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT

#iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT

#iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -N mine

iptables -A mine -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A mine -m state --state NEW -i ! ppp0 -j ACCEPT

iptables -A INPUT -j mine

iptables -A output -j mine

iptables -A FORWARD -j mine

是哪边错了??苦呀,


由 prolife 在 05-23-2003 15:44 发表:


补充错误:而且还不能上网了,,


由 iptables 在 05-23-2003 21:13 发表:


发到 http://www.chinaunix.net/forum/viewforum.php?f=4 的linux版试试


由 prolife 在 05-24-2003 01:04 发表:


状态匹配 -from iptables How to

最有用的匹配标准是'state'扩展。它负责解释'ip_conntrack'模块的connection-tracking分析。 这是推荐使用的(好东东)。

通过指定'-m state'来允许附加的'--state'选项,匹配用逗号分割的状态列表('!'标志表明不符合那些状态(的状态))。

NEW

由新连接创建的包

ESTABLISHED

属于已存在连接的包(也就是说,响应的包)

RELATED

和一个已存在连接有关,但不是它的一部分的包。如ICMP错误,或者(已加载FTP模块)一个建立FTP数据连接的包。

INVALID

由于以下原因而不能被识别的包:包括内存不足和不是相应当前任何连接的ICMP错误。通常这些包会被丢弃。

这个强大的匹配扩展的一个例子:

iptables -A FORWARD -i ppp0 -m state ! --state NEW -j DROP

搞定~!~

iptables -F OUTPUT

iptables -F FORWARD

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i ppp0 -m state --state NEW -j ACCEPT


由 BTworm 在 05-24-2003 12:48 发表:


两点建议给PROLIFE:

1. 应该允许lo界面上的

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus