利用iptables作地址轉發

一、實現目的node

 有三臺服務器,分別爲node1,node2(nat),node3,其中node2作nat轉換。在node1不能與node3直接通訊的狀況下,經過node2 nat地址轉換,實現node1能與node3通訊。
服務器

node1:192.168.0.73ide

node2:192.168.0.74 【nat機器】spa

node3:192.168.0.189ip

二、環境配置路由

 node1不能與node3同窗,在node3上開啓防火牆,it

    在node3上操做io

    # systemctl start firewalld.service
table

    # iptables -A INPUT -s 192.168.0.73 -j REJECTclass

    將全部來自於192.168.0.73的請求拒絕。

三、NAT服務器配置

     node2上的操做 

    首先打開內核ip地址轉發功能

    # cat /proc/sys/net/ipv4/ip_forward  //查看,1爲打開,0爲關閉

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

    # systemctl start firewalld.service 

    # iptables -t nat -A PREROUTING -s 192.168.0.73 -j DNAT --to-destination 192.168.0.189    //作目標地址轉發,將全部來自node1的請求的目的地址轉換成node3,因爲在路由器是看不到原地址的,因此只有作目的地址轉換。

    # iptables -t nat -A POSTROUTING -d 192.168.0.189 -j SNAT --to 192.168.0.74

// 因爲PREROUTING鏈作的目的地址轉換,因此在POSTROUTING鏈看到的就是指向node3的數據包,所以在這裏對目的地址爲node3的數據包作SNAT(源地址轉換),將源地址node1轉換成node2的,

    通過目的地址轉換和源地址轉換後,發往node3的數據包就是S:node2,D:node3,所以跳過了node3的防火牆規則。

相關文章
相關標籤/搜索