1. 程式人生 > >iptables filter表案例、iptables nat表應用

iptables filter表案例、iptables nat表應用

Linux

iptables filter表案例

案例:

需求:把80端口22端口21端口放行,22端口指定一個IP段,只有這個IP段的ip訪問的時候才可以訪問到,其他段的都拒絕。

我們先編寫一個shell腳本

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.71.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

技術分享圖片

每條代碼的含義:

ipt="/usr/sbin/iptables" 定義變量,這樣就不用每次都打後面這麽長的地址。
技術分享圖片

$ipt -F 把之前的規則清除掉,(沒有-f指定表,默認就是filter表)

技術分享圖片

$ipt -P INPUT DROP 定義默認的策略,這一條是把INPUT鏈DROP掉

技術分享圖片

$ipt -P OUTPUT ACCEPT 把OUTPUT鏈設置成ACCEPT

技術分享圖片

$ipt -P FORWARD ACCEPT 把FORWARD鏈設置成ACCEPT

技術分享圖片

然後我們來添加規則,下面這條規則是讓通信更加順暢

技術分享圖片

然後把這個這個網段的訪問22端口的數據包放行。

技術分享圖片

把80端口數據包放行。

技術分享圖片

把21端口數據包放行。

技術分享圖片

因為這個操作裏有一個-p INPUT DROP操作,所以必須要寫腳本才行。

技術分享圖片

wq 保存,執行腳本sh /usr/local/sbin/iptables.sh(放行網段時註意別把自己的遠程給斷了)
sh /usr/local/sbin/iptables.sh

技術分享圖片

然後我們可以查看一下,192.168.71.0/24段的IP可以訪問22端口,然後打開了80和21端口

技術分享圖片

icmp示例

iptables filter表案例、iptables nat表應用