1. 程式人生 > >2018-03-22 Linux學習

2018-03-22 Linux學習

Linux 學習

10.15 iptables filter表小案例

vim /usr/local/sbin/iptables.sh
#!/bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 192.168.104.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

禁止別的電腦ping本機
iptables -I INPUT -p icmp --icmp-type 8 -j DROP

10.16 iptables nat表應用 (上)

nat 表應用

A機器兩塊網卡 ens33(192.168.104.160)、ens37(192.168.100.1),ens33可以上外網,ens37僅僅是內部往來,B機器只有ens37(192.168.100.100),和A機器ens37可以通信互聯

    需求1:可以讓B機器連接外網

        A機器上打開路由轉發 echo "1" > /proc/sys/net/ipv4/ip_forward
        A機器上執行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
        B機器上設置網關為 192.168.100.1

    需求2: C 機器只能和 A 通信,讓C機器可以直接連通B機器的22端口

        A上打開路由轉發 echo "1" > /proc/sys/net/ipv4/ip_forward
        A上執行 iptables -t nat -A PREROUTING -d 192.168.104.160 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
        A上執行 iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.104.160
        B上設置網關為 192.168.100.1

ifconfig ens37 192.168.100.1/24

ifconfig ens37 192.168.100.100/24

10.17 iptables nat表應用 (中)

A上打開端口轉發,再添加iptables規則

    echo "1" > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

B上設置網關

    route add default gw 192.168.100.1
    ping 192.168.104.160     能ping通,說明與外網可以通信了
    添加DNS 119.29.29.29

10.18 iptables nat表應用 (下)

A 機器 先清空規則,再添加規則 (端口映射,實現遠程連接)
    iptables -F
    echo "1" > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -d 192.168.104.160 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
    iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.104.160

B上設置網關為 192.168.100.1

    ifconfig ens37 192.168.100.100/24
    route add default gw 192.168.100.1

2018-03-22 Linux學習