iptables学习(3)

发布时间:2019-08-25 09:33:22编辑:auto阅读(1204)

    Target/jump

    target/jump决定包的处理,语法是--jump target 或 -j target ,target分两类,一是具体的操作,如ACCEPT和DROP,另一个是发送到同一个表内的链

    如:

    iptables -N newchain

    iptables -A INPUT -p tcp -j newchain

    包从INPUT跳入newchain,到了newchain的结尾会退回INPUT链的下一条规则,如果在子链中ACCEPT,父链中也ACCEPT,相当于跳过父链中的其它规则

    ACCEPT

    -j ACCEPT ACCEPT后,当前链与表不再匹配,但还要接受其它表中的链的处理

    DNAT

    只能用在nat表的PREROUTING和OUTPUT链中,包含DNAT target的链不能被其它链调用

    iptables -t nat -A PREROUTING -p tcp -d 172.16.1.1 --dport 80 -j DNAT --to-destination 192.168.1.1

    DROP

    丢掉包,不向发送者和路由返回信息

    LOG

    记录包的信息

    iptables -A FORWARD -p tcp -j LOG --log-level debug

    log-level分为:debug,info,notice warning,warn,err,error,crit,alert,emerg,panic

    --log-prefix

    log信息的前缀

    --log-tcp-sequence

    TCP序列号和其它日志信息一起记录

    --log-ip-option

    记录IP包头中字段大小不变的选项

    MASQUERADE

    与SNAT作用一样,但不需要指定--to-source,用于动态获取IP地址的连接,如拨号上网DHCP等,只能用于nat表的POSTROUTING,有一个选项--to-ports(非必须)

    iptables -t nat POSTROUTING -p tcp -j MASQUERADE --to-ports 80

    MARK

    设置mark值

    iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 2

    MIRROR

    反转目的地址与来源地址

    QUEUE

    为软件管理包队列

    REDIRECT

    防火墙所在的主机内部转发包到另一个端口.

    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

    REJECT

    与DROP作用一样,还会返回错误信息,只能用在INPUT,OUTPUT,FORWARD

    iptables -A FORWARD -p tcp --dport 22 -j REJECT --reject-with tcp-reset

    可用的信息类型:1,icmp-net-unreachable 2,icmp-host-unreachable 3,icmp-port-unreachable 4,icmp-proto-unreachable 5,icmp-net-prohibited 6,icmp-host-prohibited,默认是3,还有 echo-reply tcp-reset

    RETURN

    返回上一层,顺序是子链--父链--默认策略

    SNAT

    只能用在nat表的POSTROUTING

    iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 192.168.10.10

    可以指定单独或连续的地址,也可指定端口

    TOS

    iptables -t mangle -A PREROUTING -p tcp --dport 22 -j TOS --set-tos 0x10

    TTL

    若ISP通过判断包的TTL来禁止共享连接,可以设置TTL为相同的数值来冲过封锁

    iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64

    --ttl-dec 减少1

    --ttl-inc 加1

    注意TTL每通过一个路由都会减1

    ULOG

    ULOG可以在用户空间记录被匹配的包的信息,这些信息和整个包都会通过netlink socket被多播。然 后,一个或多个用户空间的进程就会接受它们。换句话说,ULOG是至今iptables和Netfilter下最成熟、最 完善的日志工具,它包含了很多更好的工具用于包的记录。这个target可以是我们把信息记录到MySQL或其 他数据库中。这样,搜索特定的包或把记录分组就很方便了。

    iptables -A INPUT -p tcp --dport 22 -j ULOG --ulog-nlgroup 2

    --ulog-prefix

    --ulog-cprange

    --ulog-qtreshold

     

关键字

上一篇: selenium+Python自动化测试

下一篇: sql3