• iptables


    CentOS7 的防火墙配置与之前的版本iptables不一样,CentOS7这个版本的防火墙默认使用的是firewall:

    1、开启和关闭

    1.1 开启防火墙:

    systemctl start firewalld.service  (centos7)

    service iptables start

    /etc/init.d/iptables start

    1.2 关闭防火墙

    systemctl stop firewalld.service (centos7)

    service iptables stop

    /etc/init.d/iptables stop

    1.3 开启开机启动:

    systemctl enable firewalld.service (centos7)

    1.4 关闭开机启动:

    systemctl disable firewalld.service (centos7)

    2、四表五链

    包过滤防火墙使用iptables 工具,即四表五链

    里面含有4个功能表:

    raw :确定是否对该数据包进行状态跟踪

    mangle: 为数据包设置标记(较少使用)

    nat :修改数据包中的源、目标IP地址或端口

    filter :确定是否放行该数据包(过滤)

    每个表专门写规则的地方(Chain-链)

    五链:

    INPUT:入站 :当收到访问防火墙本机地址的数据包(入站),应用此链中的规则

    OUTPUT:出站 :当防火墙本机向外发送数据包(出站)时,应用此链中的规则。

    FORWARD:转发 :当收到需要通过防火墙中转发送给其他地址的数据包时,应用此链中的规则

    POSTROUTING:路由后转换 :在对数据包做路由选择之后,应用此链中的规则

    PREROUTING:路由前转换 :在对数据包做路由选择之前,应用此链中的规则

    3、iptables语法

     iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]

     注意:

     不指定表名默认为filter表

     不指定链名,默认为表内的所有链

     除非设定链的默认策略,否则必须指定匹配条件

     选项、链名、控制类型为大写字母,其余小写

    3.1 链名

    INPUT:入站 

    OUTPUT:出站 

    FORWARD:转发 

    POSTROUTING:路由后转换

    PREROUTING:路由前转换 

    3.2 控制类型

    ACCEPT :允许通过

    DROP :直接丢弃,不会给出任何回应

    REJECT :拒绝通过,必要时给出提示

    LOG :记录日志信息,然后传给下一条规则继续匹配

    3.3 选项

    第二行插入禁Ping的规则

    iptables -I INPUT 2 -p icmp -j ACCEPT

    末尾添加禁tcp协议的规则

    iptables -A INPUT -p tcp -j REJECT

    查看filter表:

    iptables -t filter -nvL

    查看filter表,每秒钟刷新一次

    watch n1 iptables -t filter -nvL

    删除filter表中FORWORD链中第二条规则:

    iptables -t filter -D FORWORD 2

    清除filter表中的FORWORD链:

    iptables -t filter -F FORWORD

    为指定的链设置默认规则, 但只能是 ACCEPT 和DROP

    iptables -t filter -P FORWARD DROP

     3.4 条件

    通用匹配:

    iptables -I INPUT -p icmp -j DROP

    iptables -I INPUT -s 172.23.10.1/24 -j DROP

    iptables -I INPUT -i eth0 -d 172.23.10.2/24 -j DROP

    隐含匹配:

    iptables -I FORWARD -s 172.23.10.3/24 --sport 21 -p tcp -j ACCEPT

    iptables -I INPUT -p tcp --dport 20,21 -j DROP

    iptables -A INPUT -p icmp --icmp-type 8 -j DROP   (8表示请求 =echo-request)

    iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT  (3表示不可达)

    iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT  (0表示回显=echo-reply)

    显示匹配:

    iptables -A INPUT -p tcp -m multiport --dport 80,21,443 -j ACCEPT

    iptables -I FORWARD -p tcp -m iprange --src-range 172.23.10.2-172.23.10.8 -j ACCEPT

    iptables -A INPUT -p tcp -m mac mac-source 00:11:ef:4d:3d:50 -j ACCEPT

    禁止转发与正常tcp连接无关的非syn请求数据包(如伪造的网络攻击数据包)

    iptables -I FORWARD -p tcp -m state --state NEW ! --syn -j DROP

    3.5 规则备份和还原

    iptables-save > /root/Desktop/iptables.txt

    恢复还原

    iptables-restore < /root/Desktop/iptables.txt

    永久保存为默认规则

    service iptables save

    4 、filter表 和nat表

    4.1  filter表

    里面含有3个链:

    INPUT

    FORWARD

    OUTPUT  :出站链,输出所有输出信息,包括拒绝信息

    4.2 nat表

    nat表 只有三个链:

    PREROUTING :路由前转换 ,在对数据包做路由选择之前,应用此链中的规则

    POSTROUTING :路由后转换 ,在对数据包做路由选择之后,应用此链中的规则

    OUTPUT

    4.2.1 源地址转换(SNAT)

    主要是针对信息往外发的规则,内部想访问外部的服务。

    假设linux服务器外部IP:16.29.4.20 ,内部IP为172.23.10.2 想访问web服务16.29.4.56

    那么需要在服务器的外部做地址转换:

    iptables -I POSTROUTING -p tcp -o eth1 -s 172.23.10.0/24 -j SNAT --to-source 16.29.4.20

    如果外部地址是动态的变化,可以使用MASQUERADE,动态的更改为当前的外部IP :

    iptables -I POSTROUTING -p tcp -o eth1 -s 172.23.10.0/24 -j MASQUERADE

    前提都是符合 FORWARD 规则,才能到转换规则

    4.2.2 目标地址转换(DNAT)

    主要针对外部访问内部的服务器

    假设内部web服务器为:192.168.10.1:8080,linux服务器外部IP:16.29.4.20 ,有一台PC:102.25.6.78想访问web服务

    为了更加的贴切用户的使用,那么访问内部的8080端口,在外部就应该映射为80端口,用户就不用输入端口号了(http 默认为80端口)。

    iptables -I PREROUTING -p tcp -i eth1 -d 16.29.4.20 --dport 80 -j DNAT --to-destination 192.168.10.1:8080

  • 相关阅读:
    【Blog怎么玩】如何修改博客地址栏logo—怎样查找和制作ico文件
    【Blog怎么玩】怎么给博客添加支付宝/微信打赏按钮—tctip打赏插件开源
    【免费开源网站】利用乐云xzc.cn结合百度网盘来收作业
    【数字信号处理不挂科-笔记】第三讲-离散傅立叶变换
    【数字信号处理不挂科-笔记】第一讲-离散时间信号与系统
    【Blog怎么玩】学长教你怎么在博客里播放音乐+krc转lrc(krc2lrc)
    【南工程开源计划-通信网】南工程通信09级A卷-通信网
    【南工程开源计划-通信网】南工程通信07级A卷-通信网
    【南工程开源计划-通信网】南工程通卓15级B卷-电力系统通信网期末考试
    【南工程开源计划-通信网】南工程通卓17级A卷-通信网期末考试
  • 原文地址:https://www.cnblogs.com/BackingStar/p/12732671.html
Copyright © 2020-2023  润新知