防火墙命令

查看当前所有防火墙规则

  • 1、iptables -L -n -v
  • 要显示输入或输出链规则,且结果中有行号,可以运行
  • 1、iptables -L INPUT -n -v
  • 2、iptables -L OUTPUT -n --line-numbers
  • 3、iptables -L OUTPUT -n --line-numbers | less
  • 4、iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1

删除规则

  • 1、iptables -D INPUT 4将IP地址202.54.1.1从规则中删除:
  • 1、iptables -D INPUT -s 202.54.1.1 -j DROP

拒绝所有IP访问

  • 1、iptables -P INPUT DROP (拒绝入栈)/使用这个命令之前必须把你当前IP添加到允许里面去
  • 2、iptables -P OUTPUT DROP (拒绝出栈)/这命令用不得,特别是远程进去的、

屏蔽入栈 IP 地址访问

  • 1、iptables -A INPUT -s 1.2.3.4 -j DROP
  • 2、iptables -A INPUT -s 192.168.0.0/24 -j DROP

屏蔽入栈端口请求

如果我们想80端口上屏蔽所有的服务请求,可以运行:

  • 1、iptables -A INPUT -p tcp --dport 80 -j DROP
  • 2、iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
    只想屏蔽IP地址1.2.3.4对80端口的请求,可以运行:
  • 1、iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
  • 2、iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

屏蔽出栈IP地址
首先获取一个域名的IP地址,要屏蔽访问域名cyberciti.biz的网络数据包,可以运行:

  • 1、host -t a cyberciti.biz
  • 1、 iptables -A OUTPUT -d 75.126.153.206 -j DROP

允许一些列 IP 地址访问

  • iptables -A INPUT -s 192.190.1.1 -j ACCEPT
  • iptables -A OUTPUT -s 192.190.1.1 -j ACCEPT
  • iptables -A FORWARD -s 192.190.1.1 -j ACCEPT
  • service iptables save保存规则
    允许所有本机向外的访问
  • iptables -A OUTPUT -j ACCEPT
  • 1、运行IP地址范围192.168.1.100 到192.168.1.200 访问80端口
  • 2、 iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
  • 3、#NAT示例
  • 4、iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25
    下面的命令可以允许7000到7010范围内的TCP端口访问:
  • 1、iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

解决重启iptables服务重启所有连接

  • (1)重启后永久性生效:
      开启:chkconfig iptables on
      关闭:chkconfig iptables off
  • (2) 即时生效,重启后失效:
      开启:service iptables start
      关闭:service iptables stop
  • 当重启iptables服务时,它会断开所有已建立的连接。这是因为在重启防火墙时,会卸载IPTABLES_MODULES_UNLOAD模块。
    要解决这个问题,可以编辑/etc/sysconfig/iptables-config
    vi /etc/init.d/iptables
  1. IPTABLES_MODULES_UNLOAD = no

屏蔽或开启常用的TCP、UDP端口:

  • 1、可以使用DROP替换ACCEPT,实现端口屏蔽。
  • 2、打开22端口(SSH)
  • 3、iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  • 4、iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
  • 5 、打开TCP/UDP631端口(打印服务)
  • 6 、iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT
  • 7、 iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT
  • 8、打开123端口,允许局域网用户进行NTP时间同步
  • 9、iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT
  • 10、打开25端口(SMTP)
  • 11、 iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
  • 12、 打开DNS端口
  • 13、iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
  • 14、iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
  • 15、打开http/https端口
  • 16、iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
  • 17、iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
  • 18、打开TCP110端口(POP3)
  • 19、iptables -A INPUT -m state --state NEW -p tcp --dport 110 -j ACCEPT
  • 20、打开TCP143端口
  • 21、iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT
  • 22、为局域网用户开启Samba访问
  • 23、iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT
  • 24、iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT
  • 25、iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
  • 26、iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT
  • 27、为局域网用户开启代理服务器访问
  • 28、iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT
  • 29、为局域网用户开启MySQL访问
  • 30、iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

限制客户端IP的并发连接数

我们可以使用connlimit模块限制客户端IP的并发连接数。下面的命令允许每个客户端只能并发3个ssh连接:

  • 1、iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
    设置HTTP并发连接为20个:
    iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP
    参数说明:
    connlimit-above 3:连接数超过3个自动匹配
    connlimit-mask 24:子网掩码匹配

测试防火墙

  • 测试端口是否开放:
  • 1、netstat -tulpn
    测试 TCP 80端口是否开放:
  • 1、netstat -tulpn | grep :80
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值