1.查看防火墙状态
systemctl status firewalld
开启防火墙
systemctl start firewalld
systemctl stop firewalld
开启防火墙
systemctl start firewalld
service firewalld start
开机启动
systemctl enable firewalld
先执行:systemctl unmask firewalld.service
再执行:systemctl start firewalld.service
2.查看对外开放的端口状态
查询已开放的端口(已开放的端口号集合):
firewall-cmd --zone=public --list-ports
查询指定端口号是否已开放netstat -ntulp | grep 端口号
查询指定端口是否已开firewall-cmd --query-port=2255/tcp
提示 yes,表示开启;no表示未开启。
3.对外开发端口
批量或单个添加指定需要开放的端口:
firewall-cmd --add-port=2255/tcp --permanent
firewall-cmd --zone=public --add-port=1001-1005/tcp --permanent
firewall-cmd --reload
查询指定端口是否开启成功:firewall-cmd --query-port=2255/tcp
批量或单个移除指定端口:firewall-cmd --permanent --remove-port=2255/tcp
firewall-cmd --zone=public --remove-port=1001-1005/tcp --permanent
4.针对固定IP开放端口
需要先把firewall-cmd --add-por开放的端关闭(移除指定端口--remove-port)
只对192.168.1.1开放2255端口, 对其他IP不开放(这几组引号可以这样写不会混淆)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="2255" accept"
添加一个网段
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="2255" accept"
删除上面设置的规则
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="2255" accept"
查看已设置的规则
firewall-cmd --list-all
5.修改SSH端口号只针对固定IP开放固定用户
修改配置文件
vi /etc/ssh/sshd_config
找到 Port 22 去掉前面的#
改成 Port 2255
添加一行只允许root通过192.1638.1.1登录到本机
AllowUsers root@192.168.1.1
修改SELINUX
vi /etc/selinux/config
SELINUX=permissive
init 6 重启
安装selinux管理工具
yum install policycoreutils-python -y
添加端口号
semanage port -a -t ssh_port_t -p tcp 2255
删除端口号
semanage port --delete -t ssh_port_t -p tcp 2255
查看已添加的端口号
semanage port -l | grep ssh
4.修改/etc/hosts.deny hosts.allow
修改host.deny拦截所有IP的ssh 和telnet
sshd:all:deny
in.telnetd:all:deny
修改hosts.allow只针对一个IP开放ssh
sshd:192.168.1.1:allow
系统会先检查/etc/hosts.deny规则,再检查/etc/hosts.allow规则,如果有冲突 按/etc/hosts.allow规则处理