Linux细节 - Liunx防火墙/etc/sysconfig/iptables 详解

今天在虚拟机里安装了linux,安装的时候提示是成功地,但是访问的时候失败了。

这个文件想了一晚上,没有结果。
第二天得时候,在公司突然想到是不是iptables防火墙阻止了,我昨天记得配置80端口。于是在公司的时候,查了一下/etc/sysconfig/iptables 这个文件里面的配置和参数
我用vi /etc/sysconfig/iptables 命令打开iptables的文件
下面是默认的项
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT

然后我在最后加上了
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
还是没有办法访问nginx
然后我把iptables关闭
service iptables stop
看一下是否可以正常访问
竟然成功了
那就知道问题出在iptables里
在检查一下80端口的设置,可能是位置的问题,于是把80端口设置的代码放在22端口的下面,service iptables restart,

 

重新一下iptable测试一下
成功了,原来是自己没有注意位置的问题,郁闷啊,搞了这么长时间


*****************创建RH-Firewall-1-INPUT****************

[plain]  view plain  copy
  1. #头两行是注释说明  
  2. # Firewall configuration written by system-config-securitylevel  
  3. # Manual customization of this file is not recommended.  
  4. #使用filter表  
  5. *filter  
  6. #下面四条内容定义了内建的INPUT、FORWARD、ACCEPT链,还创建了一个被称为RH-Firewall-1-INPUT的新链  
  7. :INPUT ACCEPT [0:0]  
  8. :FORWARD ACCEPT [0:0]  
  9. :OUTPUT ACCEPT [0:0]  
  10. :RH-Firewall-1-INPUT - [0:0]  
  11. #将所有流入的数据写入到日志文件中  
  12. -A INPUT -j LOG --log-level crit  
  13. #下面这条规则将添加到INPUT链上,所有发往INPUT链上的数据包将跳转到RH-Firewall-1 //链上。  
  14. -A INPUT -j RH-Firewall-1-INPUT  
  15. #下面这条规则将添加到FORWARD链上,所有发往INPUT链上的数据包将跳转到RH-Firewall-1 //链上。  
  16. -A FORWARD -j RH-Firewall-1-INPUT  
  17. #下面这条规则将被添加到RH-Firewall-1-input链。它可以匹配所有的数据包,其中流入接口(-i)//是一个环路接口(lo)。  
  18. #匹配这条规则的数据包将全部通过(ACCEPT),不会再使用别的规则来和它们进行比较  
  19. -A RH-Firewall-1-INPUT -i lo -j ACCEPT  
  20. #下面这条规则是拒绝所以的icmp包-p 后是协议如:icmp、tcp、udp。端口是在-p后面--sport源端口,--dport目的端口。-j 指定数据包发送的  
  21. #目的地址如:ACCEPT、DROP、QUEUE等等  
  22. -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j DROP  
  23. -A RH-Firewall-1-INPUT -p 50 -j ACCEPT  
  24. -A RH-Firewall-1-INPUT -p 51 -j ACCEPT  
  25. -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT  
  26. -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT  
  27. -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT  
  28. -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
  29. #-m state --state ESTABLISHED,RELATED这个条件表示所有处于ESTABLISHED或者  
  30. RELATED状态的包,策略都是接受的。  
  31. # -m state --state NEW 这个条件是当connection的状态为初始连接(NEW)时候的策略。  
  32. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT  
  33. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT  
  34. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
  35. -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT  
  36. -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT  
  37. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT  
  38. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT  
  39. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT  
  40. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j DROP -s 222.221.7.84  
  41. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  
  42. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT  
  43. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT  
  44. -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited  
  45. COMMIT  
  46.   
  47. iptalbes 是状态检测防火墙!   


****************************************************************************************

参数讲解:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收

禁止某个IP访问
iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
–s 参数是来源(即192.168.1.2)
后面拒绝就是DROP
删除规则
iptables -D INPUT 2
删除INPUT链编号为2的规则



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值