# 常用的几个 iptables 实例分享

- Link: https://www.xuepaijie.com/html/skill/devops/857.html
- Published: 2017-03-01T10:54:05+08:00
- Author: Admin

将本机80端口的请求转发到8080端口

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

如果需要本机也可以访问，则需要配置OUTPUT链

    ```shell;
    iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080
    ```

两机之间的端口转发

    ```shell;
    #将本机的81端口的请求全部转发到192.168.1.1:80

    #首先要启用ipv4的转发功能：

    echo 1 > /proc/sys/net/ipv4/ip_forward

    #或者是修改/etc/sysctl.conf (via)以便重启后也会启用转发，然后设定iptables(via)：

    iptables -t nat -A PREROUTING -p tcp --dport 81 -j DNAT --to 192.168.1.1:80
    iptables -t nat -A POSTROUTING -j MASQUERADE

    #如果开启了防火墙功能，注意要将80和81两个端口都打开。
    ```

禁止用户ping

    ```shell;
    #允许内网(192.168.1.*)的ping入，允许ping出，禁止其它网段的ping入

    iptables -A INPUT -p icmp --icmp-type 8 -s 192.168.1.0/24 -j ACCEPT
    iptables -A INPUT -p icmp --icmp-type 8 -j DROP
    ```
