1.概念
網路位址轉換用於控制網路封包的表面源或所需目標位址。
基於主機的簡單防火牆只具有 input 鏈中的規則,以 accept 或 reject 封包,但是在專用(不可路由)網路的閘道器或路由器上,通常使用 prerouting 和 postrouting 鏈修改封包。nat 表使用三條鏈: prerouting 、 output 和 postrouting 。當路由器修改通過其的網路通訊的源或目標 ip 位址或埠時,進行網路位址轉換。它用於對映使用單個 ip 位址的計算機網路,以使其可以共享單個公共位址並隱藏其內部網路( masquerade 或 snat )。它還用於將傳送到乙個 ip 位址的通訊重定向到另乙個 ip 位址。此目標 nat 用於埠**(通過防火牆外部的埠至防火牆內部的服務)並用於透明地重定向至**服務。
masquerade 目標使源 ip 位址更改為與開啟防火牆的介面的 ip 相匹配。目標將響應傳送回該介面的 ip位址。連線跟蹤自動將返回通訊轉換為匹配的內部 ip 位址和埠(基於連線兩端的 ip 位址和埠進行跟蹤)。 snat 目標通過選項 --to-source 使源 ip 位址更改為指定的 ip 位址。
# iptables -t nat -a postrouting -o eth1 -j masquerade
dnat 目標通過— to-destination 選項使目標 ip 位址更改為與指定的 ip 位址相匹配。路由器將封包**到該位址;這是在做出路由決策之前使用鏈的原因。連線跟蹤自動將響應傳送回具有原始 ip 位址的原始源而不是新源。
# iptables -t nat -a prerouting -p tcp --dport 80 -j dnat --to-destination 192.168.0.254
dnat 示例:
# iptables -t nat -a prerouting -p tcp --dport 80 -j dnat --to-dest 192.168.0.250
# iptables -t nat -a output -p tcp --dport 80 -j dnat --to-dest 192.168.0.200:3128 (重定向)
snat 示例:
# iptables -t nat -a postrouting -o eth0 -j masquerade (偽裝)
# iptables -t nat -a postrouting -j snat --to-source 192.168.0.253
2.filter表 只允許sshd,dns,http,https,ftp服務
vim /etc/vsftpd/vsftpd.conf
pasv_max_port=5000
pasv_min_port=5000
iptables -f
iptables -a input -m state --state related,established -j accept
iptables -a input -m state --state new -p tcp --dport 22 -j accept
iptables -a input -m state --state new -p tcp --dport 21 -j accept
iptables -a input -m state --state new -p tcp --dport 20 -j accept
iptables -a input -m state --state new -p tcp --dport 80 -j accept
iptables -a input -m state --state new -p tcp --dport 443 -j accept
iptables -a input -m state --state new -p tcp --dport 53 -j accept
iptables -a input -m state --state new -p tcp --dport 953 -j accept
iptables -a input -m state --state new -p tcp --dport 5000 -j accept
iptables -a input -m state --state new -s 172.25.6.254 -p tcp --dport 1024: -j accept
3.nat表 內外網訪問
3.1實驗環境:
真機 172.25.254.6 (外網)
虛擬機器一 172.25.254.106/172.25.6.1
虛擬機器二 172.25.6.10 (內網)
3.2內網訪問外網
3.2.1虛擬機器一配置
[root@server106 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 #開通核心路由功能
[root@server106 ~]# sysctl -p
[root@server106 ~]# iptables -f
[root@server106 ~]# iptables -t nat -a postrouting -o eth1 -j snat --to-source 172.25.254.106##新增內網到外網的策略
3.2.2虛擬機器二配置
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
gateway=172.25.6.1
[root@localhost ~]# /etc/init.d/network restart
3.2.3測試:虛擬機器二可ping通254網段 172.25.254.6
[root@localhost ~]# ping 172.25.254.6
ping 172.25.254.6 (172.25.254.6) 56(84) bytes of data.
64 bytes from 172.25.254.6: icmp_seq=1 ttl=64 time=0.102 ms
64 bytes from 172.25.254.6: icmp_seq=2 ttl=64 time=0.127 ms
64 bytes from 172.25.254.6: icmp_seq=3 ttl=64 time=0.164 ms
3.3外網訪問內網
3.3.1虛擬機器一配置
[root@server106 ~]# iptables -t nat -a postrouting -o eth1 -j snat --to-source 172.25.254.106##新增外網內網的策略
3.3.2虛擬機器二 ### 新增測試頁
3.3.3真機端測試
HCL配置 Easy NAT 網路位址轉換實驗
掌握 easy nat 配置方法 私網客戶端 pc a pc b 需要訪間公網伺服器 sever 使用公網介面 ip 位址動態為 pc a pc b 分配公網位址和協議埠。pc a pc b 位於私網,閘道器為 rta rta 同時為 nat 裝置,有1個私網介面 g0 0 和 1 個公網介面 g0...
關於網路位址轉換
一直被乙個問題困擾 在租屋裡使用天威的寬頻上網,被告知是共享乙個公網ip,也就是說不管區域網裡有幾台電腦在上網,對外來說他們的ip是相同的。這就比較奇怪了,路由怎麼能正確的把公網上的ip包準確的投遞給正確的電腦呢?有同事提示說路由把不同的電腦對映到了不同的埠上。但還是有問題,tcp包頭的埠號 ip的...
網路位址轉換 NAT
nat概述 網路位址轉換 nat 通過將內部網路的私有ip位址翻譯成全球唯一的公網ip位址,使內部網路可以連線到網際網路等外部網路上,廣泛應用於各型別的網際網路接入方式和各種型別的網路中。nat的實現方式有一下三種 靜態位址轉換 將內部網路的私有ip位址轉換為公有的合法的ip位址,ip位址的對應關係...