1、實現目的
有三臺服務器,分別爲node1,node2(nat),node3,其中node2做nat轉換。在node1不能與node3直接通信的情況下,通過node2 nat地址轉換,實現node1能與node3通信。
node1:192.168.0.73
node2:192.168.0.74 【nat機器】
node3:192.168.0.189
2、環境配置
node1不能與node3同學,在node3上開啓防火牆,
在node3上操作
# systemctl start firewalld.service
# iptables -A INPUT -s 192.168.0.73 -j REJECT
將所有來自於192.168.0.73的請求拒絕。
3、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的防火牆規則。