前言
由于 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
- 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
暂无评论内容