filter表應用-nat表應用

 filter表應用:

    需求:把80、2二、21端口放行,22端口指定IP段纔可放行,其餘IP段拒絕。shell

 

1.編寫一個腳本/tmp/iptables.sh 內容以下:bash

#! /bin/bashssh

#定義變量,在shell中命令使用絕對路徑tcp

ipt="/usr/sbin/iptables"          spa

#清空以前規則,沒使用-t制定表,默認對filter表操做blog

$ipt -Fip

#修改默認策略,INPUT策略爲DROP路由

$ipt -P INPUT DROPtable

#修改默認策略,OUTPUT策略爲ACCEPT變量

$ipt -P OUTOUT ACCEPT

#修改默認策略,FORWARD策略爲ACCEPT

$ipt FORWARD ACCEPT

#指定RELATED (邊緣狀態),ESTABLISHED(保持鏈接)狀態的數據放行

$ipt -A INPUT -m state --state RELATED ,ESTABLISHED -j ACCEPT

#指定由此網段訪問22端口的數據放行

$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT 

#指定訪問80端口的數據放行

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

#指定訪問21端口的數據放行

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

 

2.執行腳本:sh /tmp/iptables.sh

3.查看新規則: iptables -nvL

 

PS: 使本機可正常ping通其餘機器,但拒絕其餘機器ping本機:

iptables -I INPUT -p icmp --icmp-type 8 -j DROP

 

nat表應用:

需求:

 

需求1:B機器經過A機器訪問外網。

 

1.A機器修改內核參數開啓路由轉發功能:

echo "1" > /proc/sys/net/ipv4/ip_forward                 #默認是0(不轉發);改成1(轉發)

2.A機器增長規則:

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

3.B機器網關設置爲192.168.100.1

此時B機器應能ping通A機器的192.168.133.130

 

需求2:外網C機器能與A機器通訊,並能經過A機器鏈接B機器的22端口

思路:使用端口映射,將B機器22端口映射成其餘端口如1122,映射到A機器

 

1.A機器修改內核參數開啓路由轉發功能:

echo "1" > /proc/sys/net/ipv4/ip_forward                 #默認是0(不轉發);改成1(轉發)

2.A機器增長規則;

#接收到的數據包目標爲133.130:1122的數據轉發到100.100:22上

iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22      

#接收到的數據包源爲100.100的數據將目標地址改爲133.130  

iptables -t nat -A PORTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130

3.B機器網關設置爲192.168.100.1    

4.C機器經過ssh 192.168.133.130:1122 訪問B機器22端口     

相關文章
相關標籤/搜索