#Set default policy
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
#Set input chain
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT 对运行在lo上的服务都放行,否则系统会出问题的
iptables -A INPUT -p tcp -d serverip --dport 80 --syn -m state --state NEW -j ACCEPT 开放80服务
iptables -A INPUT -p tcp -d serverip --dport 21 --syn -m state --state NEW -j ACCEPT 开放ftp服务(针对主动模式)
#Set output chain
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
LZ没有把机器的环境说清楚。我给出的iptables配置是针对这台电脑需要上网。它要打开网页,肯定要进行域名解析的,肯定要开放udp 53的。
如果这台电脑是提供web服务的服务器,那代码就得改成:
#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
堕落kiss 于 2010-09-25 18:35:25发表:
楼上,我有些不明白,访问网页为什么要开53端口,服务器本身不提供DNS 你开53多口干什么?
昊昊荡荡 于 2010-09-25 17:32:08发表:
[i=s] 本帖最后由 昊昊荡荡 于 2010-9-25 17:33 编辑 [/i]
配置iptables并不是通过修改/etc/rc.d/init.d/iptables文件来实现的,起码常规下没有这样做。但不排除另类做法。
访问web页面的话,如果是https,则还要开放tcp 443,不仅仅是一个tcp 80。访问网页时还要进行域名解析,所以还必须开放UDP 53。可在命令行下输入如下指令:
#iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 443 --syn -m state --state NEW -j ACCEPT
#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
wywrw0512 于 2010-11-01 14:39:11发表:
功能的开放,是一个链的过程,希望在每次心得时,一定要清晰的表达出来
wywrw0512 于 2010-11-01 14:38:09发表:
再详细一些
alick 于 2010-09-30 13:16:21发表:
同意楼上的,要对外提供服务的话必须配置INPUT链的
昊昊荡荡 于 2010-09-29 22:47:27发表:
如果你配置的是web服务器,那么客户端访问你的web服务器时应该首先进入的服务器iptables的input链,所以应该开放的是input链上的80端口。你在output链上开放80,那么结果就是你能在这台服务器上访问其他80服务。
如果真的像你所说的那样,在OUTPUT链上开放了80端口,你的web服务器就能被客户端正常访问,那你真的就创造了奇迹了!而且这种奇迹是无法想象的!
yk19880829 于 2010-09-29 14:48:04发表:
问题得到解决,还是得靠自己 呵呵
#vi /etc/sysconfig/iptables
然后加上#iptables -A OUTPUT -p udp --dport 80 -m state --state NEW -j ACCEPT
保存退出!即可
此时防火墙对80端口放行了! 防火墙打开站点也可以正常运行了!
昊昊荡荡 于 2010-09-29 11:30:04发表:
LZ事先没有交待清楚他的环境。
这几天忙,都没上论坛来看看。
按版主大人的方法可能是有点问题的。如果LZ其他方面的配置都搞定了,仅仅只是防火墙的问题话,我想应该这样来配置:
#Load module
modprobe ip_conntrack
modprobe ip_conntrack_ftp 如果服务器提供了ftp服务器,必须加载这个模块,客户端才能正常访问的
#clear and flush rule
iptables -F
iptables -X
#Set default policy
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
#Set input chain
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT 对运行在lo上的服务都放行,否则系统会出问题的
iptables -A INPUT -p tcp -d serverip --dport 80 --syn -m state --state NEW -j ACCEPT 开放80服务
iptables -A INPUT -p tcp -d serverip --dport 21 --syn -m state --state NEW -j ACCEPT 开放ftp服务(针对主动模式)
#Set output chain
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
如果LZ还有其他需求,其他需求需要打开内核转发功能的,可按如下方法打开:
#打开内核转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
#echo finish messages
echo "finish !!!"
配置forward链的,根据实际需求进行配置。
我也是才开始学习linux的,但linux下我最感兴趣的东东就是iptables了。
欢迎大家多交流!
童川NO 于 2010-09-28 19:44:01发表:
大家帮忙点一下啊,小弟在任务http://www.linuxdiyf.com/bbs/?fromuid=368556
枝狩?天 于 2010-09-28 17:43:36发表:
setup里面有相关的配置,你改成中文的就行
奶茶dsk 于 2010-09-28 15:41:12发表:
按照昊昊荡荡的方法设置防火墙不行么?[code]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# /etc/rc.d/init.d/iptables save
# service iptables restart[/code]
yk19880829 于 2010-09-28 14:38:59发表:
米人来回答了{:2_92:}
yk19880829 于 2010-09-26 16:47:40发表:
对于开源将军的回答! 开启53端口没必要! 应为我是在域名商DNS服务器那边已经把域名解析到我的服务器的IP上的! 现在的关键是我把防火抢彻底关闭站点就能打开,显示 我把防火墙开启! 站点就打不开了
那么这个问题肯定是防火墙没开启80端口撒! 那么请问现在改如何配置呢! 请各位同志给个详细的方法以及命令! 小弟在此感谢各位的支持了!
yk19880829 于 2010-09-26 16:44:47发表:
我意思就是 我刚丛IDC拿回来的服务器radhat5 我已经手工配置好了FTP LAMP环境了!
配置是绝对没问题! 但是服务器里防火墙是开启的! 那么我刚配置了LAMP,搭建了网站,服务器就得有80端口提供服务! 而现在站点打不开! 所以我想请问该如何设置防火墙开启80端口呢!
LAMP是绝对没问题的!因为我直接setup把防火墙关闭;站点是正常运行的,正常显示的! 而我setup把防火墙打开,站点就打不开了!
请问我现在该如何在防火墙规则里让他允许对80端口放行! 如何配置防火墙呢.命令是什么! 请尽量详细点,谢谢各位了
昊昊荡荡 于 2010-09-25 22:33:37发表:
[i=s] 本帖最后由 昊昊荡荡 于 2010-9-25 22:35 编辑 [/i]
LZ没有把机器的环境说清楚。我给出的iptables配置是针对这台电脑需要上网。它要打开网页,肯定要进行域名解析的,肯定要开放udp 53的。
如果这台电脑是提供web服务的服务器,那代码就得改成:
#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
堕落kiss 于 2010-09-25 18:35:25发表:
楼上,我有些不明白,访问网页为什么要开53端口,服务器本身不提供DNS 你开53多口干什么?
昊昊荡荡 于 2010-09-25 17:32:08发表:
[i=s] 本帖最后由 昊昊荡荡 于 2010-9-25 17:33 编辑 [/i]
配置iptables并不是通过修改/etc/rc.d/init.d/iptables文件来实现的,起码常规下没有这样做。但不排除另类做法。
访问web页面的话,如果是https,则还要开放tcp 443,不仅仅是一个tcp 80。访问网页时还要进行域名解析,所以还必须开放UDP 53。可在命令行下输入如下指令:
#iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 443 --syn -m state --state NEW -j ACCEPT
#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
准确无误的输入以上命令后,记得保存:service iptables save
alick 于 2010-09-25 15:47:48发表:
这么一个简单的规则,图形界面的“系统----管理---防火墙“应该也可以做得到。
堕落kiss 于 2010-09-25 14:18:49发表:
setup一定要关闭防火墙吗?我记得里面有个 Firewall configuration这个选项吧,可以开端口的 要是没有这个选项那你就装一下[code]yum install system-config-securitylevel[/code]
大宝 于 2010-09-25 09:27:34发表:
http://tech.ccidnet.com/pub/html/tech/iptables/index.htm