Linux下iptables 禁止端口和开放端口

iptables 禁止端口和开放端口

 

1.首先介绍一下指令和相关配置文件

  1. 启动指令:service iptables start   
  2. 重启指令:service iptables restart   
  3. 关闭指令:service iptables stop   
  4.   
  5. 然后是相关配置:/etc/sysconfig/iptables   
  6. 如何操作该配置呢?   
  7. vim /etc/sysconfig/iptables   
  8. 然后进去修改即可,修改完了怎么办?这里很多人会想到/etc/rc.d/init.d/iptables save指令,但是一旦你这么干了你刚才的修改内容就白做了。。。   
  9. 具体方法是:   
  10. 只修改/etc/sysconfig/iptables 使其生效的办法是修改好后先service iptables restart,然后才调用/etc/rc.d/init.d/iptables save,   
  11. 因为/etc/rc.d/init.d/iptables save会在iptables服务启动时重新加载,要是在重启之前直接先调用了/etc/rc.d/init.d/iptables save那么你   
  12. 的/etc/sysconfig/iptables 配置就回滚到上次启动服务的配置了,这点必须注意!!!  

2.下面介绍一些指令用法(主要还是man iptables看下相关资料才行)

  1. -A:指定链名   
  2. -p:指定协议类型   
  3. -d:指定目标地址   
  4. --dport:指定目标端口(destination port 目的端口)   
  5. --sport:指定源端口(source port 源端口)   
  6. -j:指定动作类型  

3.如果我不像修改文件直接打命令可以吗,当然没问题,步骤如下:

  1. 例如我给SSH加放行的语句:   
  2. 添加input记录: iptables -A INPUT -p tcp --dport 22 -j ACCEPT   
  3. 添加output记录: iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT   
  4. 最后注意需要再执行一下 /etc/init.d/iptables save,这样这两条语句就保存到刚才那个/etc/sysconfig/iptables 文件中了。  

4.接下来说明一下步骤,如果机器不在我身边,我只能SSH进去做iptables规则,那么我必须注意每一步,千万别搞错了,否则就SSH链接不上都有可能!

  1. 首先要做的是给咱的SSH进行ACCEPT配置,以免直接无法连接的情况发生:   
  2. 1.如果SSH端口是22(这里不建议用默认端口最好改掉SSH端口)   
  3. iptables -A INPUT -p tcp --dport 22 -j ACCEPT   
  4. iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT   
  5. 注意要/etc/rc.d/init.d/iptables save,以下每一步都最好执行一遍此语句,以下不再累述。   
  6.   
  7. 2.vim /etc/sysconfig/iptables确定是否已经加入配置,可以的话执行service iptables restart重启后生效   
  8.   
  9. 3.下面是很危险的操作,如果你第一步没做就会直接可能导致你连不上SSH,此步骤前切记执行第一步!!!   
  10. iptables -P INPUT DROP    
  11. iptables -P OUTPUT DROP    
  12. iptables -P FORWARD DROP   
  13. 这个步骤是把所有不符合自己配置的规则ACCEPT的连接全部DROP掉,执行完以后如果咱SSH还没掉,那么谢天谢地,安全了,重启下iptables后继续下面的配置!   
  14.   
  15. 4.下面咱就不细说了,具体就是看自己服务器要开放哪些端口或者是要访问哪些端口来做具体的配置,下面是我自己的机器的配置:   
  16.   
  17. /etc/sysconfig/iptables文件配置如下:   
  18. # Generated by iptables-save v1.4.7 on Fri Mar  2 19:59:43 2012   
  19. *filter   
  20. :INPUT DROP [0:0]   
  21. :FORWARD DROP [0:0]   
  22. :OUTPUT DROP [8:496]   
  23. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT   
  24. #ping使用的端口   
  25. -A INPUT -p icmp -j ACCEPT   
  26. -A INPUT -i lo -j ACCEPT   
  27. -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT   
  28. -A INPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT   
  29. #允许服务器自己的SSH(对外部请求来说服务器是目标所以使用--dport)   
  30. -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT   
  31. #80端口不用说了吧,服务器网站访问端口   
  32. -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT   
  33. -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT   
  34. -A INPUT -p tcp -m tcp --dport 11211 -j ACCEPT   
  35. -A INPUT -p tcp -m tcp --dport 11212 -j ACCEPT   
  36. -A FORWARD -j REJECT --reject-with icmp-host-prohibited   
  37. #53端口是DNS相关,TCP和UDP都要配置   
  38. -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT   
  39. -A INPUT -p udp -m udp --dport 53 -j ACCEPT   
  40. #ping使用的端口   
  41. -A OUTPUT -p icmp -j ACCEPT   
  42. -A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT   
  43. -A OUTPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT   
  44. #允许服务器SSH到其他机器(使用外部端口就使用--dport)   </
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值