centos7

    1. systemctl stop firewalld
    2. systemctl disable firewalld

    iptables

    • 安装
    1. # 先禁用默认的firewalld
    2. systemctl stop firewalld
    3. systemctl mask firewalld
    4. # 再安装
    5. yum -y install iptables
    6. yum -y install iptables-services
    • 配置:
    1. # 1 先清除已有配置
    2. iptables -F
    3. iptables -X
    4. iptables -Z
    5. # 2 开放指定的端口(-A和-I参数分别为添加到规则末尾和规则最前面)
    6. #允许本地回环接口(即运行本机访问本机)
    7. iptables -A INPUT -i lo -j ACCEPT
    8. # 允许已建立的或相关连的通行
    9. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    10. #允许所有本机向外的访问
    11. iptables -A OUTPUT -j ACCEPT
    12. # 允许访问22端口
    13. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    14. #允许访问80端口
    15. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    16. #允许访问443端口
    17. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    18. #允许FTP服务的21和20端口
    19. iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    20. iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    21. #如果有其他端口的话,规则也类似,稍微修改上述语句就行
    22. #允许ping
    23. iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
    24. #禁止其他未允许的规则访问(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
    25. iptables -A INPUT -j REJECT
    26. iptables -A FORWARD -j REJECT
    27. # 3 屏蔽IP
    28. #屏蔽单个IP的命令是
    29. iptables -I INPUT -s 123.45.6.7 -j DROP
    30. #封整个段即从123.0.0.1到123.255.255.254的命令
    31. iptables -I INPUT -s 123.0.0.0/8 -j DROP
    32. #封IP段即从123.45.0.1到123.45.255.254的命令
    33. iptables -I INPUT -s 124.45.0.0/16 -j DROP
    34. #封IP段即从123.45.6.1到123.45.6.254的命令是
    35. iptables -I INPUT -s 123.45.6.0/24 -j DROP
    36. # 4 屏蔽或允许某IP访问指定端口
    37. #屏蔽某IP访问指定端口,以22端口为例命令是
    38. iptables -I INPUT -s 123.45.6.7 -p tcp --dport 22 -j DROP
    39. #允许某IP访问指定端口,以22端口为例命令是
    40. iptables -I INPUT -p tcp --dport 22 -j DROP
    41. iptables -I INPUT -s 123.45.6.7 -p tcp --dport 22 -j ACCEPT
    42. # 5 查看已有规则
    43. iptables -L -n
    44. # 6 删除已有规则
    45. # 获取行号
    46. iptables -L -n --line-numbers
    47. # 删除指定行号规则(以8为例)
    48. iptables -D INPUT 8
    49. # 7 开机启动
    50. systemctl enable iptables
    51. # 8 保存规则
    52. service iptables save