您的位置:首页 > 运维架构 > Linux

iptables火墙服务 && selinux端口标签的管理

2019-08-19 23:50 423 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/llllyr/article/details/99778253

文章目录

  • 2. 管理SELinux端口标签
  • 1.iptables火墙服务

    1.1 iptables服务的启动

    yum list iptables-services
    systemctl stop firewald
    systemctl distable firewalld
    systemctl mask  firewalld
    systemctl start iptables.service
    systemctl enable iptables.service

    1.2 iptables 常用参数

    • man iptables
      查看各种参数含义
    参数 含义
    -t 指定表格
    -L 列出所有规则
    -nL 列出所有规则带解析
    -A 添加规则 不能指定添加位置
    -D 删除规则
    -C 检测 一般不使用
    -I 指定位置插入规则
    -R 指定策略修改
    -S 列出策略 更为详细
    -P 更改链条的默认动作 只有DROP
    -N 添加新链
    -E 链重命名
    -X 删除链
    -F 刷新iptables
    -Z 清空iptables数据


    命令添加的规则如果不保存默认都是临时的,再次刷新或重启服务规则会被清理

    保存的两种方式
    (1)

    srvice iptables save

    (2)
    iptables-save > /etc/sysconfig/iptables
    将策略保存文件内容倒入策略文件策略算是永久保存

    1.3iptables服务策略

    (1)iptables给特定ip指定特定服务:

    iptables -t filter -A INPUT -p tcp --dport 22 -s 172.25.254.101 -j REJECT


    (2)iptables 添加火墙服务并检测标签提高效率(以开放squid代理服务、ssh服务、DNS服务)
    由于系统读取策略都是在表中从上置下依次读取,且读取到符合要求的策略就不再向下读取;NEW标签的主机检测过后标签就变为ESTABLSHED或RELAED 下次连接就不用检测,提高效率

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  对ESTABLSHED和RELAED标签的ip直接通过检测
    iptables -A INPUT -m state --state NEW -i lo -j ACCEPT 对NEW标签内部接口的ip也直接通过检测
    iptables -A INPUT -m state --state NEW -p tcp --dport 3128 -j ACCEPT NEW标签ip连接squid服务 检测3128端口
    iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT 检测22端口
    iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT  检测53端口
    iptables -A INPUT -j REJECT  其余的服务连接都拒绝不用检测

    1.4 iptables火墙的伪装与端口转发功能

    (1)iptables 火墙的伪装——路由之后SNAT源地址转换

    iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.201 (ip为服务端ip)
    ##在nat表中的路由之后链POSTOUTING中添加规则:对通过eth0网卡出去的ip做源地址转换 ip转换为172.25.254.201
    iptables-save

    (2)iptables 连接端口的转发——路由之前 DNAT目的地址的转换(ssh服务连接为例)

    iptables -t nat -A PREROUTING -i eth0 -p  tcp  --dport 22 -j DNAT --to-dest x.x.x.x:22
    
    ##在nat表中的路由之前链PREROUTING中添加规则:对连接eth0网卡ip的主机做目的端口转发,目的主机为x.x.x.x



    目的端口转发必须开启火墙的伪装功能,否则会出现如下效果:

    2. 管理SELinux端口标签

    (1)列出SELinux端口标签 :

    semanage port -l

    (2)添加SELinux端口标签 :

    semanage port -a -t http_port_t -p tcp x

    (3)删除SELinux端口标签 :

    semanage port -d -t http_port_t -p tcp x
    • selinux为强制模式时,修改apache服务端口为8888 vim /etc/httpd/httpd.conf
      重启apache服务时 无法重启服务,因为selinux端口标签中不存在8888端口
      为selinux添加8888端口标签,再次重启服务,重启成功


    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: