firewall通用指令合集

打印 上一主题 下一主题

主题 867|帖子 867|积分 2601

常用指令


  • 查看防火墙状态
    1. firewall-cmd --state
    复制代码
  • 停止firewall
    1. systemctl stop firewalld.service
    复制代码
  • 禁止开机启动
    1. systemctl disable firewalld.service
    复制代码
  • 开放某个服务端口--允许全部IP访问
    1. firewall-cmd --add-port=16379/tcp --permanent
    复制代码
  • 移除6379端口-禁止访问
    1. firewall-cmd --permanent --remove-port=6379/tcp
    2. firewall-cmd --reload
    复制代码
  • ** 只允许指定端口访问指定服务器端口**
    1. # 允许192.168.142.166 IP 访问ES 9200端口
    2. firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" \
    3.               port protocol="tcp" port="9200" accept"
    4. firewall-cmd --reload
    复制代码
  • 删除规则:删除上一条规则--撤销192.168.142.166访问本机9200端口的访问权限
    1. firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.142.166"
    2.               port protocol="tcp" port="9200" accept"
    3. firewall-cmd --reload
    复制代码
  • 其他指令
    1. #查看开放的端口
    2. $ firewall-cmd --list-ports
    3. #查询6379端口是否开放
    4. $ firewall-cmd --query-port=6379/tcp
    5. # 查看当前系统打开的所有端口
    6. firewall-cmd --zone=public --list-ports
    7. # 获取已激活的zonesudo dockerd –debug
    8. firewall-cmd --get-active-zones
    复制代码
  • docker启动失败,防火墙题目
    1. ZONE_CONFLICT: 'docker0' already bound to a zone
    2. #Check if docker zone exists in firewall-cmd
    3. $ firewall-cmd --get-active-zones
    4. #If "docker" zone is available, change interface to docker0 (not persisted)
    5. $ sudo firewall-cmd --zone=docker --change-interface=docker0
    6. #If "docker" zone is available, change interface to docker0 (persisted, thanks rbjorklin)
    7. $ sudo firewall-cmd --permanent --zone=docker --change-interface=docker0
    8. $ sudo systemctl restart firewalld
    复制代码
  • 查看全部的规则
    1. firewall-cmd --list-all
    复制代码
  • 端口转发: 只允许外部通过访问18088端口访问服务器8088 web服务, 外部无法通过8088端口服务

    • 启用端口转发:
      1. sudo firewall-cmd --permanent --add-masquerade
      2. sudo firewall-cmd --reload
      复制代码
    • 添加转发规则:
      1. sudo firewall-cmd --permanent --add-forward-port=port=18088:proto=tcp:toport=8088
      2. sudo firewall-cmd --reload
      复制代码
    • 禁用外部通过8088端口访问 web服务
      1. firewall-cmd --permanent --remove-port=8088/tcp
      2. sudo firewall-cmd --reload
      复制代码
    这些命令将启用端口转发并添加相应的转发规则。
    第一个命令启用了IP伪装(masquerade),允许转发流量。
    第二个命令添加了转发规则,将通过18088端口的流量转发到8088端口。
    第三个:防火墙中添加了阻止8088端口访问的规则
    请注意:如果你已经在防火墙中添加了阻止80端口访问的规则,则可以跳过第一步。

应用

外部通过访问10022端口访问ssh服务

  • 检查防火墙是否启用
    1. service firewalld status
    2. #如果未启用则启用firewalld服务
    3. service firewalld start
    复制代码
  • 检查防火墙现有规则
    1. firewall-cmd --list-all
    2. # 输出如下
    3. 443/tcp 80/tcp 10022/tcp 9092/tcp 8088/tcp 8080/tcp 22/tcp 20514/udp
    复制代码
  • 检查sshd服务, 添加sshd额外监听端口10022,如果已配置,忽略此步调
    1. vim /etc/ssh/sshd_config
    2. # 添加第18行代码
    3. ...
    4. 17 Port 22
    5. 18 Port 10022
    6. 19 #AddressFamily any
    7. 20 #ListenAddress 0.0.0.0
    8. 21 #ListenAddress ::
    9. ...
    10. # 重启ssh 服务
    11. service sshd restart
    复制代码
  • 启用 firewall端口转发规则功能
    1. sudo firewall-cmd --permanent --add-masquerade
    2. sudo firewall-cmd --reload
    复制代码
  • 添加端口转发规则:将10022端口转发至端口22
    1. sudo firewall-cmd --permanent --add-forward-port=port=10022:proto=tcp:toport=22
    2. sudo firewall-cmd --reload
    复制代码
  • 禁用外部通过22端口访问sshd服务
    1. firewall-cmd --permanent --remove-port=22/tcp
    2. firewall-cmd --reload
    复制代码
  • 防火墙中添加了阻止8088/8080端口(星海大数据管理平台)访问的规则
    1. firewall-cmd --permanent --remove-port=8088/tcp
    2. firewall-cmd --permanent --remove-port=8080/tcp
    3. firewall-cmd --reload
    复制代码
  • 添加端口转发规则:将19092端口转发至端口9092(KAFKA服务),同时禁用外部通过9092访问KAFKA服务
    1. firewall-cmd --permanent --add-forward-port=port=19092:proto=tcp:toport=9092
    2. firewall-cmd --permanent --remove-port=9092/tcp
    3. sudo firewall-cmd --reload
    复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

没腿的鸟

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表