收藏文章 楼主

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

版块:linux   类型:普通   作者:小绿叶技术博客   查看:1408   回复:1   获赞:0   时间:2019-12-22 17:00:21

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 端口


 -A INPUT -m state --state NEW -m tcp -p tcp --dport 1:65535 -j ACCEPT

# iptables 添加端口范围用冒号


iptables -I INPUT -s  216.244.66.242 -j DROP

                                                        # 该ip被禁止所有端口所有协议; 允许访问,将DROP 改为:ACCEPT


iptables -L -n  --line-numbers        # 查看已有规则并显示编号

iptables -D INPUT 2                        # 删除编号为2进规则,其中的 INPUT 要根据iptables的标签第二列


service iptables restart # 重启防火墙

yum install -y iptables-services      # 安装 iptables

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


#---------- iptables 备份与还原 ------------#

 iptables-save >/dd/iptables.bak                 # iptables 备份到 /dd 目录

 iptables-restore </dd/iptables.bak             # iptables 规则还原

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 出规则

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

                                                                                # 添加 icmp 端口



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 # 重启防火墙




本文章最后由 admin2024-09-20 16:32 编辑

提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

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

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息