iptables nat表應用

10.15 iptables filter表小案例

vi /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.133.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

//指定IP段,只有這個IP段的IP訪問才能夠訪問到,其餘的拒絕html

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

10.16/10.17/10.18 iptables nat表應用

nat表應用

環境
A機器兩塊網卡ens33(192.168.133.130)/ens37(192.168.100.1),ens33能夠上外網,ens37僅僅是內部網絡,B機器只有ens37(192.168.100.100),和A機器ens37能夠通訊互聯。linux


需求1:可讓B機器鏈接外網bash


虛擬機上進行設置,A機器添加兩塊網卡,B機器添加一塊網卡  
ipconfig ens37 192.168.100.1/24 直接手動經過命令行設置一個IP,臨時修改IP
  1. A機器上打開路由轉發 # echo "1" >/proc/sys/net/ipv4/ip_forward 須要打開端口轉發,須要修改內核參數
  2. A上執行# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE添加規則,讓100.0進行上網
  3. B上設置網關爲192.168.100.1# route add default gw 192.168.100.1

需求2:C機器只能和A通訊,讓C機器能夠直接連通B機器的22端口網絡


讓B機器的22端口映射到A機器的其餘端口
  1. A上打開路由轉發# echo "1" >/proc/sys/net/ipv4/ip_forward 須要打開端口轉發,須要修改內核參數
  2. A上執行# iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22C機器訪問A機器的1122端口時,轉發到B機器
  3. A上執行# iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130POSTROUTING鏈中,將源地址133.130轉換爲100.100,返回到C機器
  4. B上設置網關爲192.168.100.1

擴展

  1. iptables應用在一個網段 http://www.aminglinux.com/bbs/thread-177-1-1.html
  2. sant,dnat,masqueradehttp://www.aminglinux.com/bbs/thread-7255-1-1.html
  3. iptables限制syn速率http://www.aminglinux.com/bbs/thread-985-1-1.html http://jamyy.us.to/blog/2006/03/206.html
相關文章
相關標籤/搜索