Centos7 中修改ssh端口号和防火墙配置

前言

由于 Centos7 版本以后默认使用 Firewalld,网上关于 iptables 的设置方法已经不适用,而把 Firewalld 更换成 iptables 的话,宝塔面板又不支持在面板中控制端口,索性自己找一些资料记录下来用了。

Firewalld 简介

Firewalld 是 centos7 的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的 zone 概念

Firewalld 的字符界面管理工具是 firewall-cmd

Firewalld 默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)

  • 安装 Firewalld

    root 执行 # yum install firewalld firewall-config

  • 运行、停止、禁用 Firewalld

    查看状态:# systemctl status firewalld 或者 firewall-cmd –state
    停止:# systemctl disable firewalld
    禁用:# systemctl stop firewalld
    开启:# systemctl enable firewalld
    启动:# systemctl start firewalld

配置 Firewalld

查看版本:$ firewall-cmd –version
查看帮助:$ firewall-cmd –help
显示状态:$ firewall-cmd –state
查看区域信息: $ 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 –permanent –zone=public–add-port=[-]/[–timeout=]
更新防火墙规则:# firewall-cmd –reload

# firewall-cmd --complete-reload

两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务。

修改 ssh 端口

  • step1 修改 /etc/ssh/sshd_config

    vi /etc/ssh/sshd_config
    #Port 22 //这行去掉 # 号
    Port 4848 //把 22 修改为所需端口号 例如 4848

20250123162213186-8a038e7bc2730c4d7b1fb231b2dd0d05

 

  • step2 修改
    使用以下命令查看当前系统允许的 ssh 端口:
    netstat -tulnp|grep sshd

    添加 4848 端口

    firewall-cmd --permanent --zone=public --add-port=4848/tcp

    然后确认一下是否添加进去

    netstat -lntp

    如果成功会输出

    tcp    0    0 0.0.0.0:4488      0.0.0.0:*      LISTEN    20827/sshd          
    tcp    0    0 0.0.0.0:3306      0.0.0.0:*      LISTEN    17683/mysqld        
    tcp    0    0 0.0.0.0:80        0.0.0.0:*      LISTEN    19830/nginx: master 
    tcp    0    0 0.0.0.0:21        0.0.0.0:*      LISTEN    17179/pure-ftpd (SE

    重启 ssh

    systemctl restart sshd.service
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容