【Linux】iptables防火墙相关配置

【Linux】iptables防火墙相关配置

  • 命令格式
    # iptables -t 表名 <-A/D/I/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
    -t:指定要操纵的表
    
    -A:向规则链中添加条目
    -D:从规则链中删除条目
    -I:向规则链中插入条目
    -R:替换规则链中的条目
    
    -i:指定数据包进入本机的网络接口
    -o:指定数据包要离开本机所使用的网络接口
    
    -p:指定要匹配的数据包协议类型
    -s:指定要匹配的数据包源ip地址
    -j:指定要跳转的目标
    
    表名包括:
    raw:高级功能,如:网址过滤。
    mangle:数据包修改(QOS),用于实现服务质量。
    net:地址转换,用于网关路由器。
    filter:包过滤,用于防火墙规则。
    
    规则链名包括:
    INPUT链:处理输入数据包
    OUTPUT链:处理输出数据包
    PORWARD链:处理转发数据包
    PREROUTING链:用于目标地址转换(DNAT)
    POSTOUTING链:用于源地址转换(SNAT)
    
    动作包括:
    ACCEPT:接收数据包
    DROP:丢弃数据包
    REDIRECT:重定向、映射、透明代理
    SNAT:源地址转换
    DNAT:目标地址转换
    MASQUERADE:IP伪装(NAT),用于ADSL
    LOG:日志记录
    
  • iptables命令
    # iptables -F
    清除已有iptables规则
    
    # iptables -X
    删除指定的用户自定义链
    这个链必须没有被引用,如果被引用在删除之前必须删除或者替换
    如果没有给出参数,这条命令将删除每个非内建的链
    
    # iptables -Z
    把所有链的包及字节的计数器清空
    
    # iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
    允许本地回环接口
    
    # iptables -A OUTPUT -j ACCEPT
    允许所有本机向外的访问
    
    # iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    # iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    # iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    允许访问80端口
    允许ftp服务的21、20端口
    
    # iptables -A INPUT -j REJECT
    # iptables -A FORWARD -j REJECT
    禁止其他未允许的规则访问
    
    # iptables -I INPUT -s 192.168.28.128 -j DROP
    # iptables -I INPUT -s 172.16.28.0/24 -j DROP
    屏蔽单个IP的命令
    屏蔽整个网段的命令
    
    # iptables -L -n -v
    查看已添加的iptables规则
    
    # iptables -L -n --line-numbers
    将所有iptables以序号标记显示
    
    # iptables -D INPUT 7
    删除INPUT里序号为7的规则
    
    # iptables -F INPUT
    清空filter表INPUT所有规则
    
    # iptables -P INPUT DROP
    设置filter表INPUT默认规则是 DROP
    
  • iptables-save命令
    # iptables-save -t filter > filter.bak
    # ls
    指定要保存的表的名称
    -t 指定要保存的表的名称
    
    # iptables-save -c > iptables.bak
    保存当前的数据包计算器和字节计数器的值
    -c	指定要保存的表时,保存当前的数据包计算器和字节计数器的值
    
  • iptables-restore命令
    # iptables-restore < iptables.bak
    还原iptables配置
    
    # iptables-restore -c < iptables.bak
    在还原表时,还原当前的数据包计数器和字节计数器的值
    -c	指定在还原表时候,还原当前的数据包计数器和字节计数器的值
    
    # iptables-restore -t filter.bak
    # ls
    -t 指定要还原表的名称
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值