Centos 6 和 Centos 7 开启和关闭防火墙指定端口的方式以及一些常用指令
查看 centos 版本
cat /etc/redhat-release
Centos 6 开启/关闭端口
命令的方式
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 端口号 -j DROP # 写入禁用规则
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 端口号 -j ACCEPT # 写入启用规则
/etc/init.d/iptables save # 保存写入的规则
service iptables restart # 重启防火墙
该方法实则为将命令禁用命令写入文件
然后通过 save 保存文件
写入iptables文件的方式
关闭端口
vim /etc/sysconfig/iptables # 打开防火墙规则文件, 进行编辑
service iptables restart # 重启防火墙
该方法则为直接操作文件
既可以直接删除开放端口的命令
也可以添加禁用端口的命令
个人比较喜欢方法二, 直接编辑规则文件, 防止同时存在禁用规则跟启用规则
Centos 7 开启/关闭端口
查看firewall服务状态
systemctl status firewalld
1
查看firewall的状态
firewall-cmd --state
1
开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 允许指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
# 允许指定IP段访问本机8080-8090端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
# 禁止指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'
# 移除以上添加操作,将--add-rich-rule 替换成--remove-rich-rule
以上命令执行后,都会写入到/etc/firewalld/zones/public.xml。也可以直接修改该文件。
注意:任何修改操作,配置完成后,需要重新装载firewall。或重新启动firewalld服务。
firewall-cmd --reload
service firewalld restart
查看防火墙规则
firewall-cmd --list-all
1
查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
关于防火墙拦截FTP的问题
防火墙不需要放行 21 端口, 关键控制在新增 ftp服务
查看防火墙服务
firewall-cmd --list-services
1
没有ftp, 就增加ftp服务
# 新增服务
firewall-cmd --permanent --add-service=ftp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
参考: https://blog.csdn.net/fendouweiqian/article/details/118152209
centos6开放防火墙策略
打开配置文件
vi /etc/sysconfig/iptables
新开放的端口一定要在端口22后面
下面三行的意思:
先关闭所有的80端口
开启ip段192.168.1.0/24端的80口
开启ip段211.123.16.123/24端ip段的80口
# iptables -I INPUT -p tcp --dport 80 -j DROP # iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT # iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT
开放一个IP的一些端口,其它都封闭
iptables -A Filter -p tcp --dport 80 -s 192.168.100.200 -d www.pconline.com.cn -j ACCEPT iptables -A Filter -p tcp --dport 25 -s 192.168.100.200 -j ACCEPT iptables -A Filter -p tcp --dport 109 -s 192.168.100.200 -j ACCEPT iptables -A Filter -p tcp --dport 110 -s 192.168.100.200 -j ACCEPT iptables -A Filter -p tcp --dport 53 -j ACCEPT iptables -A Filter -p udp --dport 53 -j ACCEPT iptables -A Filter -j DROP
多个端口
iptables -A Filter -p tcp -m multiport --destination-port 22,53,80,110 -s 192.168.20.3 -j REJECT
指定时间上网
iptables -A Filter -s 10.10.10.253 -m time --timestart 6:00 --timestop 11:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j DROP iptables -A Filter -m time --timestart 12:00 --timestop 13:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT iptables -A Filter -m time --timestart 17:30 --timestop 8:30 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT
ptables 限制ip访问 通过iptables限制9889端口的访问(只允许192.168.1.201、192.168.1.202、192.168.1.203),其他ip都禁止访问
ptables 限制ip访问 通过iptables限制9889端口的访问(只允许192.168.1.201、192.168.1.202、192.168.1.203),其他ip都禁止访问 iptables -I INPUT -p tcp --dport 9889 -j DROP iptables -I INPUT -s 192.168.1.201 -p tcp --dport 9889 -j ACCEPT iptables -I INPUT -s 192.168.1.202 -p tcp --dport 9889 -j ACCEPT iptables -I INPUT -s 192.168.1.203 -p tcp --dport 9889 -j ACCEPT
Linux 查看端口占用情况:
netstat 指令
命令:
netstat -a # 列出所有端口
netstat -at # 列出所有TCP端口
netstat -au # 列出所有UDP端口
netstat -ax # 列出所有unix端口
netstat -atnlp # 直接使用ip地址列出所有处理监听状态的TCP端口,且加上程序名
Windows 查看服务器某个端口是否ping 通
telnet ip port 需要注意的是
telnet指令有是需要配置
Linux 测试端口是否 ping 的方法
方法一、telnet 法
telnet 为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过 telnet 来测试端口的连通性,具体用法格式:
telnet ip port
说明:
ip:是测试主机的 ip 地址
port:是端口,比如 80
方法二、ssh 法
SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在 linux 上可以通过 ssh 命令来测试端口的连通性,具体用法格式如下:
用法:
ssh -v -p port username@ip
说明:
-v 调试模式 (会打印日志).
-p 指定端口
username: 远程主机的登录用户
ip: 远程主机
方法三、curl 法
curl 是利用 URL 语法在命令行方式下工作的开源文件传输工具。也可以用来测试端口的连通性,具体用法:
curl ip:port
说明:
ip:是测试主机的 ip 地址
port:是端口,比如 80
如果远程主机开通了相应的端口,都会输出信息,如果没有开通相应的端口,则没有任何提示,需要 CTRL+C 断开。
方法四、wget 方法
wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP 协议下载,并可以使用 HTTP 代理。wget 名称的由来是 “World Wide Web” 与 “get” 的结合,它也可以用来测试端口的连通性具体用法:
wget ip:port
说明:
ip:是测试主机的 ip 地址
port:是端口,比如 80
如果远程主机不存在端口则会一直提示连接主机。
Linux 查看、修改系统时间
查看系统时间
date
手动修改系统时间
1.执行如下命令可以设置一个新的系统时间:
date -s "20220926 17:18:50"
2.设置完后还要执行如下命令保存一下设置:
hwclock --systohc
3.当然我们也可以将上面两个操作合二为一:
date -s "20220926 17:18:50" &&hwclock --systohc