前言
由于 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
目前只敢用 Centos6.7 ,新的第七版貌似改动太多,很多都不一样,实在无力折腾了
我刚开始学习用 linux,所以还是得从最新的学起好一些。
这个很不错,我永远都是先修改端口。(我的安全组开放所有端口·····)
vps 可以很自由,但安全问题就得自己负责了 ಥ_ಥ
在用csf,感觉都差不多
对于我这个小白而言,这些都是高大上的玩意,完全不懂,只能看各种教程瞎折腾… =͟͟͞͞(꒪⌓꒪*)
好的学习经验