centos 6
vi /etc/sysconfig/iptables # 防火墙配置文件
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# 添加防火墙样本:开放22 和80 端口
service iptables restart # 重启防火墙
netstat -ntlp # 查看正在运行的端口
service httpd restart # 重启 httpd 服务
centos 7
yum list | grep firewall # 查找安装包
yum install -y firewalld
firewall-cmd --state # 查看防火墙是否运行
firewall-cmd --query-port=8080/tcp # 先查看端口是否开放
# firewall [ˈfaɪəwɔːl] 防火墙
firewall-cmd --permanent --add-port=8022/tcp
# 开放端口8022
# permanent [ˈpɜːmənənt] 永久的
# 不加此参数重启会失效
firewall-cmd --permanent --remove-port=8080/tcp
# 移除端口
firewall-cmd --zone=public --add-port=4400-4600/udp --permanent
firewall-cmd --zone=public --add-port=4400-4600/tcp --permanent
# 添加端口范围udp;tcp 类型
firewall-cmd --zone=public --list-ports # 查看开启的端口,端口列表
netstat -ntlp # 查看正在运行的端口
firewall-cmd --reload # 重启防火墙
systemctl stop firewalld # 禁用防火墙
systemctl enable firewalld # enable 开机自动启动
# disable禁止开机启动
####################### 限制来访ip端口 ################################
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
# 限制IP访问80端口;firewall [ˈfaɪrwɑl] 防火墙;
# permannet [ˈpɜrmənənt] 永久, p man ent; rith [rɪʧ] 丰富; rule [rul] 规则;永久添加丰富规则
# family [ˈfæməli] 家族;家族规则;source [sɔrs] 来源; prot [pɔrt] 端口; protocol [ˈproᴜtəˌkɑl] 规则;reject [ˈriʤɛkt] 拒绝
# --add-rich-rule= 防火墙加入一段字符串:
# address="10.0.0.0/24" 其中 /24 是限制整段IP
firewall-cmd --reload # 重载配置,生效
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"
# 解除IP禁止访问端口
firewall-cmd --reload # 重载配置,生效
firewall-cmd --zone=public --list-ports
# 查看记录
vi /etc/firewalld/zones/public.xml # 规则记录文件管理
# --add-rich-rule= 防火墙加入一段字符串,产生如下信息:
<rule family="ipv4">
<source address="180.76.164.15"/>
<port protocol="tcp" port="22"/> # 禁止22端口
<reject/> # reject [ˈriʤɛkt] 禁止
</rule> # 当前是5行为一个规则
iptables 端口管理
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 添加进端口
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT # 添加出端口
iptables -L -n --line-numbers # 查看已有规则并显示编号
iptables -D INPUT 2 # 删除编号为2进规则
# OUTPUT 出规则
service iptables status # 查看状态
systemctl start iptables.service #启动防火墙
systemctl enable iptables.service #设置开机自启动
systemctl stop iptables.service #关闭防火墙
systemctl disable iptables.service #禁止开机启动
iptables -F
iptables -X
iptables -Z # 清除防护墙
iptables -I INPUT -s 180.76.164.15 -p TCP --dport 22 -j DROP
# 禁止此ip访问22端口