且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

centos 6/7 防火墙端口管理 firewalld、iptables防火墙限制IP端口;限制来访IP和端口

更新时间:2021-07-13 00:22:10

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 服务

ubuntu

ufw allow 8081               # ubuntu 防火墙1

iptables -I INPUT -p tcp --dport 8081 -m state --state NEW -j ACCEPT


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 --zone=public --list-ports # 列出公共端口 zone [zoʊn] 地区


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 类型

#---  生效配置 ---#

systemctl restart firewalld                                 # 添加端口后,重启防火墙生效

firewall-cmd --reload                                        # 重载防火墙配置




firewall-cmd --version                                      # 查看版本

firewall-cmd --help # 查看帮助

firewall-cmd --state                                         # 显示状态

firewall-cmd --zone=public --list-ports # 查看所有打开的端口

firewall-cmd --reload # 更新防火墙规则

firewall-cmd --get-active-zones # 查看区域信息 

firewall-cmd --get-zone-of-interface=eth0 # 查看指定接口所属区域

firewall-cmd --panic-on # 拒绝所有包

firewall-cmd --panic-off # 取消拒绝状态 

firewall-cmd --query-panic 查看是否拒绝




firewall-cmd --zone=public --list-ports # 查看开启的端口,端口列表

netstat -ntlp # 查看正在运行的端口

firewall-cmd --reload # 重启防火墙

systemctl stop firewalld # 禁用防火墙

systemctl enable firewalld # enable 开机自动启动

# disable禁止开机启动


firewall-cmd --list-all #查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)

firewall-cmd --list-all-zones #查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)



#######################    限制来访ip端口   ################################


firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="127.0.0.3" port protocol="tcp" port="1521" accept"

# 对指定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 --remove-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"

    # 解除IP禁止访问端口   remove 删除规则

firewall-cmd --reload # 重载配置,生效


firewall-cmd --zone=public --list-ports

# 查看记录

# systemctl disable firewalld  # disables 禁止开机启动,enables 开启开机启动


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行为一个规则


firewalld 端口映射

firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toaddr=172.17.0.2:toport=80

                                                           # 将本机的80端口映射到内网 80

                                                           # add 增加;     remove 删除



iptables 端口管理  

yum install iptables-services -y             # 安装更新 iptables


sed -i "/3306/d" /etc/sysconfig/iptables 

                                                           # 清除3306端口规则


 iptables -L -n --line-number ;            # 查看开放的端口









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                     # 清除防护墙

systemctl restart iptables;             # 重启防火墙删除配置


iptables -A INPUT -p tcp --dport 9090 -j ACCEPT

                                                     # 添加进端口

yum install -y iptables-services      # 安装 iptables

service iptables save                      # 保存防火墙最新配置,前提:安装:iptables-services 




iptables -I INPUT -s 180.76.164.15 -p TCP --dport 22 -j DROP

# 禁止此ip访问22端口

# 允许访问,将DROP 改为:ACCEPT



iptables -L -n -v # 查看已添加的iptables规则



iptables 相关资料:https://cloud.tencent.com/developer/article/1480230




firewall 开放端口

yum install -y firewalld

firewall-cmd --query-port=8081/tcp # 先查看端口是否开放

firewall-cmd --permanent --add-port=8022/tcp

# 开放端口8022

systemctl restart firewalld # 重启防火墙