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.201192.168.1.202192.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

 

posted @ 2022-06-19 11:18  Samuel-Leung  阅读(1443)  评论(0编辑  收藏  举报