一、CentOS7iptables设置防火墙
CentOS7默认使用的是firewalld作为防火墙,而iptables是传统的Linux防火墙。如果需要使用iptables,需要先停止firewalld。
systemctl stop firewalld systemctl disable firewalld
接着安装iptables:
yum install iptables-services -y
安装完成后,就可以使用iptables来配置防火墙了。
二、CentOS7iptables设置指定IP访问
如果需要限制某个IP地址访问服务器,可以在iptables中添加相应的规则。
iptables -A INPUT -s 192.168.1.100 -j DROP
该命令的意思是,限制IP地址为192.168.1.100的主机访问服务器。
三、CentOS7iptables配置
iptables默认的配置文件是/etc/sysconfig/iptables,可以直接编辑该文件来配置防火墙规则。
以下是一个简单的iptables配置文件示例,允许SSH连接(端口22)、HTTP连接(端口80)和HTTPS连接(端口443):
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -i lo -j ACCEPT COMMIT
以上配置允许SSH、HTTP和HTTPS连接,同时允许本地回环(lo)接口连接。其余的连接都被拒绝。
四、CentOS7iptables默认配置
iptables默认规则是所有连接都是允许的,但是不允许IP转发。
如果需要更改默认规则,可以在/etc/sysconfig/iptables中修改默认策略:
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [2:216] COMMIT
以上是默认规则,所有连接都允许通过。
五、CentOS7iptables保存配置
当iptables配置被更新后,需要保存配置,以便重启后保持生效。
service iptables save
该命令会把当前的iptables配置保存在/etc/sysconfig/iptables中。
六、CentOS7iptables无法设置端口
如果在iptables中设置某个端口,但是该端口仍然不能被访问,需要检查SELinux是否开启。
可以通过以下命令查看SELinux的状态:
sestatus
如果SELinux状态为enforcing,需要设置SELinux策略来允许该端口被访问。
七、CentOS7iptables配置与使用
以下是一个完整的iptables配置和使用示例:
- 编辑/etc/sysconfig/iptables文件:
- 重启iptables服务:
- 测试连接:
vim /etc/sysconfig/iptables
添加以下规则:
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -i lo -j ACCEPT COMMIT
service iptables restart
测试SSH连接(端口22):
ssh user@ipaddress
测试HTTP连接(端口80):
curl http://ipaddress
测试HTTPS连接(端口443):
curl https://ipaddress
八、iptables详解
iptables是Linux下的一个工具,用于管理和配置Linux内核的网络策略,包括端口转发、网络地址转换等功能。
iptables配置文件中的每个规则都有如下结构:
-A chain_name -m match_criteria1 --match_arg1 -j target_name
其中,chain_name是规则所属的链,match_criteria1是匹配规则,match_arg1是匹配参数,target_name是目标链。
常用的match_criteria有:
- -p:指定协议
- -s:指定源IP地址
- -d:指定目标IP地址
- --sport:指定源端口
- --dport:指定目标端口
常用的target_name有:
- ACCEPT:允许连接通过
- DROP:拒绝连接通过
- REJECT:拒绝连接通过,并发送响应报文
- LOG:记录连接信息
九、Ubuntu安装iptables
Ubuntu默认也使用的是ufw作为防火墙,如果需要使用iptables,需要先停止ufw。
systemctl stop ufw systemctl disable ufw
接着安装iptables:
apt-get install iptables -y
安装完成后,就可以使用iptables来配置防火墙了。