iptables中DNAT的配置方法

2021-09-30 15:25:41 字數 3402 閱讀 9982

1.一對一流量完全dnat 首先說一下網路環境,普通主機一台做防火牆用,網絡卡兩塊;

eth0 192.168.0.1內網

eth1 202.202.202.1 外網

內網中一台主機 192.168.0.101

現在要把外網訪問202.202.202.1的所有流量對映到192.168.0.101上

命令如下:

——————————————————————————–

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

iptables-f

iptables -t nat -f

iptables -t mangle -f

iptables -x

iptables -t nat -x

iptables -t mangle -x

iptables -a input -i lo -j accept

iptables -a output -o lo -j accept

iptables -p input accept

iptables -p output accept

iptables -p forward accept

iptables -t nat -a prerouting -d 202.202.202.1 -j

dnat–to-destination

192.168.0.101

iptables -t nat -a postrouting -d 192.168.0.101 -j snat –to

192.168.0.1

——————————————————————————–

2.多對多流量完全dnat 說是多對多,實際上這裡的配置是指定了多個一對一 環境:

eth0 192.168.0.1 內網

eth1 202.202.202.1 、202.202.202.2 外網

內網中2臺主機 192.168.0.101、192.168.0.102

現在要把外網訪問202.202.202.1的所有流量對映到192.168.0.101上,

同時把把外網訪問202.202.202.2的所有流量對映到192.168.0.102上

這裡順便提一下如何為網絡卡配置多個ip;

ifconfig eth1:1 202.202.202.2 netmask 255.255.255.0 up

命令如下:

——————————————————————————–

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

iptables -f

iptables -t nat -f

iptables -t mangle -f

iptables -x

iptables -t nat -x

iptables -t mangle -x

iptables -a input -i lo -j accept

iptables -a output -o lo -j accept

iptables -p input accept

iptables -p output accept

iptables -p forward accept

iptables -t nat -a prerouting -d 202.202.202.1 -j dnat –to-destination

192.168.0.101

iptables -t nat -a postrouting -d 192.168.0.101 -j snat –to

192.168.0.1

iptables -t nat -a prerouting -d 202.202.202.2 -j dnat –to-destination

192.168.0.102

iptables -t nat -a postrouting -d 192.168.0.102 -j snat –to

192.168.0.1

——————————————————————————–

3.一對多根據協議dnat 這個最常用,一般是內網或dmz區內有多個應用伺服器,可以將不同的應用流量對映到不同的伺服器上 環境:

eth0 192.168.0.1 內網

eth1 202.202.202.1 外網

內網中2臺主機 192.168.0.101(web伺服器)、192.168.0.102(郵件伺服器)

現在要把外網訪問202.202.202.1的web流量對映到192.168.0.101上,

同時把把外網訪問202.202.202.1的郵件訪問流量對映到192.168.0.102上;

命令如下:

——————————————————————————–

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

iptables -f

iptables -t nat -f

iptables -t mangle -f

iptables -x

iptables -t nat -x

iptables -t mangle -x

iptables -a input -i lo -j accept

iptables -a output -o lo -j accept

iptables -p input accept

iptables -p output accept

iptables -p forward accept

iptables -t nat -a prerouting -d 202.202.202.1 -p tcp –dport 80 -j dnat

–to-destination 192.168.0.101:80

iptables -t nat -a postrouting -d 192.168.0.101 -p tcp –dport 80 -j snat

–to 192.168.0.1

iptables -t nat -a prerouting -d 202.202.202.1 -p tcp –dport 25 -j dnat

–to-destination 192.168.0.102:25

iptables -t nat -a postrouting -d 192.168.0.102 -p tcp –dport 25 -j snat

–to 192.168.0.1

iptables -t nat -a prerouting -d 202.202.202.1 -p tcp –dport 110 -j dnat

–to-destination 192.168.0.102:110

iptables -t nat -a postrouting -d 192.168.0.102 -p tcp –dport 110 -j snat

–to 192.168.0.1

iptables規則下的DNAT

測試環境 rhel 5.4,雙網絡卡。內網 eth0 10.6.3.211 外網 eth1 192.168.1.100 內網web server web.domain.com 10.6.3.208 外網客戶端 192.168.1.3 想實現的功能 使用iptables,能在外網上能訪問到內網的web...

ebtables的OUTPUT鏈DNAT問題

man一下ebtables即可知道,或者隨便想一下也會知道,ebtables在output鏈上可以做dnat,修改目的mac位址,和iptables一樣,到達output鏈的時候已經經過路由表了,只不過對於橋裝置,該路由表是乙個 mac位址 出口裝置 的對映表。我們知道,ip層的output鏈上作了...

ebtables的OUTPUT鏈DNAT問題

man一下ebtables即可知道,或者隨便想一下也會知道,ebtables在output鏈上可以做dnat,修改目的mac位址,和iptables一樣,到達output鏈的時候已經經過路由表了,只不過對於橋裝置,該路由表是乙個 mac位址 出口裝置 的對映表。我們知道,ip層的output鏈上作了...