一、什么是iptables
iptables是Linux中的一种防火墙软件,采用的是数据包过滤技术对网络数据进行过滤,从而达到保护网络安全和防火墙功能的目的。
二、centos开启iptables服务
1、查看iptables状态
$ systemctl status iptables.service
若iptables服务运行状态为inactive,则需开启服务。
2、开启iptables服务
$ systemctl start iptables.service
三、开放单个端口
1、使用iptables命令开放
$ iptables -I INPUT -p tcp --dport 端口号 -j ACCEPT
例如开放80端口:
$ iptables -I INPUT -p tcp --dport 80 -j ACCEPT
2、永久开放端口
在配置文件/etc/sysconfig/iptables中添加规则,保存并重启iptables服务。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 端口号 -j ACCEPT
3、查看当前iptables规则表
$ iptables -L -n
四、开放多个端口
1、连续端口范围
$ iptables -A INPUT -p tcp --dport 起始端口号:结束端口号 -j ACCEPT
例如开放5000-5010端口范围:
$ iptables -A INPUT -p tcp --dport 5000:5010 -j ACCEPT
2、不连续端口
$ iptables -A INPUT -p tcp -m multiport --dports 端口号,端口号,端口号 -j ACCEPT
例如开放80、8080和443端口:
$ iptables -A INPUT -p tcp -m multiport --dports 80,8080,443 -j ACCEPT
五、开放指定IP访问端口
1、开放指定IP访问
$ iptables -A INPUT -s 指定IP -p tcp --dport 端口号 -j ACCEPT
例如允许192.168.0.10访问80端口:
$ iptables -A INPUT -s 192.168.0.10 -p tcp --dport 80 -j ACCEPT
2、禁止指定IP访问
$ iptables -A INPUT -s 指定IP -p tcp --dport 端口号 -j DROP
例如禁止192.168.0.10访问80端口:
$ iptables -A INPUT -s 192.168.0.10 -p tcp --dport 80 -j DROP
六、常用iptables命令
1、查看iptables状态
$ systemctl status iptables.service
2、启动iptables服务
$ systemctl start iptables.service
3、停止iptables服务
$ systemctl stop iptables.service
4、重启iptables服务
$ systemctl restart iptables.service
5、查看当前iptables规则表
$ iptables -L -n
七、总结
本文详细介绍了CentOS iptables开放端口的多种方式,涉及开放单个端口、开放多个端口、开放指定IP访问端口等多个方面。通过本文的教程,读者可以轻松掌握iptables的使用方法,保障网络安全。