您的位置:

CentOS7iptables详解

一、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配置和使用示例:

  1. 编辑/etc/sysconfig/iptables文件:
  2. 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
    
  3. 重启iptables服务:
  4. service iptables restart
    
  5. 测试连接:
  6. 测试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来配置防火墙了。