防火墙 (iptables)

Iptables

  • iptables 用于创建数据过滤的NAT(网络地址转换)规则
  • iptables 命令中设置数据过滤或处理数据包的规则是策略,多个策略组成一个链

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

规则策略重启后失效,保存规则需执行 service iptables save

用于容纳规则链

  • raw : 确定是否对改数据包进行状态跟踪
  • mangle :为数据包设置标记
  • nat : 修改数据包中的源,目标IP地址或者端口
  • filter : 确定是否放行该数据包(过滤)
    没有指定表的情况下默认指定filter表
    raw -> mangle -> nat -> filter
选项
  • -P 设置默认策略
  • -F 清空规则链
  • -L 查看规则链
  • -A 在规则链的末尾加入新规则
  • -I num 在规则链的头部加入规则
  • -D num 删除某一条规则
  • -s 匹配来源地址
  • -d 匹配来源目标
  • -p 匹配协议, tcp 等…
  • -i 网卡名称 匹配从这块网卡流入的数据
  • -o 网卡名称 匹配从这块网卡流出的数据
  • -dport num 匹配目标端口号
  • -sport num 匹配来源端口号
  • PREROUTING (路由前) : 在进行路由选择前处理数据包
  • INPUT : 处理输入数据包
  • OUTPUT : 处理出站数据包
  • FORWARD (转发): 处理转发的数据包
  • POSTROUTING (路由后): 在进行路由选择后处理数据包
    不指定规则链则表示表内所有的规则链
    规则链会一次匹配,匹配到合适的规则即停止,LOG除外,没有匹配的按默认处理
    入站顺序:PREROUTING -> INPUT
    出站顺序:OUTPUT -> POSTROUTING
    转发顺序:PREROUTING -> FORWARD -> POSTROUTING
条件
  • ACCEPT 通过
  • LOG 记录交个下一个规则
  • REJECT 拒接通过,但是会给拒接提示
  • DROP 直接丢弃
控制类型
实例

查看已有规则 iptables -L
清空已有规则 iptables -F
将INPUT链规则默认设置为拒接 iptables -t fileter -P INPUT -j drop
允许所有的Ping操作 iptables -I INPUT -p icmp -j ACCEPT
对未匹配到的包通过 iptables -A INPUT -j ACCEPT

仅允许来自于 192.168.10.0/24域的用户连接本机器SSH服务

得保证运行规则在拒绝规则的前边
iptables -t filter -l INPUT -s 192.168.10.0/24 -p tcp –dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp -dport 22 -j DROP

不允许任何用户访问本机的12345端口

iptables -l INPUT -p tcp –dport 12345 -j REJECT
iptables -l INPUT -p udp –dport 12345 -j REJECT

拒绝其他用户从"eno167777734"网卡访问本机HTTP服务的数据包

iptables -l INPUT -i eno167777734 -p tcp –dport 80 -j REJECT

禁止用户访问 www.my133t.org

iptables -l FORWARD -d www.my1335.org -j DROP

禁止IP地址为 192.168.10.10的用户上网

iptables -l FORWARD -s 192.168.10.10 -j REJECT

SNAT 源地址转换技术 (内网多用户通过一个外网地址上网)

原理图

总是通过网关服务器进行分发动作

使用iptables实现SNAT源地址转换

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eno16777735 -j SNAT –to-source 111.196.211.212

实现自动外网地址转换

MASQUERADE 外网IP地址不稳定的情况下,MASQUERADE(动态伪装)会自动获取外网地址,并改为当前的外网地址;
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

DNAT 目的地地址转换技术(使外网IP用户访问局域网内不同的服务器)

原理图

互联网客户机访问内网 192.168.10.6

iptables -t nat -A PREROUTING -i eno677745 -d 61.213.123.123 -p tcp -dport 80 -j DNAT –to-destination 192.168.10.6





posted @ 2017-05-16 14:12  要吃瘦的胖次  阅读(256)  评论(0)    收藏  举报