ip 地址分公有地址和私有地址。
public address是由INIC組織負責,這些IP地址需要向INIC提出申請,並頒發。
private address是屬於非註冊地址,專門爲組織內部使用,private ip address 不可以直接用來跟WAN 通信的,要麼使用幀來通信,要麼使用路由的NAT功能,將一個私有IP轉化爲一個公有IP。
*公私IP地址的範圍:
A類的公有IP:
1.0.0.0~9.255.255.255
11.0.0.0~126.255.255.255
B類的公有IP:
128.0.0.0~172.15.255.255
172.32.0.0~191.255.255.255
C類的公有IP:
192.0.0.0~192.168.255.255
192.169.0.0~223.255.255.255
私有IP地址的範圍:
A類私有IP地址:
10.0.0.0~10.255.255.255
B類私有IP地址:
172.16.0.0~172.31.255.255
C類私有IP地址:
192.168.0.0~192.168.255.255*
* NAT技術是將多個私有IP地址轉化爲公有IP地址的技術,主要解決IP地址不夠用的問題*
*在不同的路由器中,其配置方法也不同,在寬帶路由器中,路由器本身就啓用了NAT轉換,實現LAN到WAN接口的地址轉換功能*
*在NAT地址轉換方式上,可以分爲靜態轉換及動態轉換,也可以基於IP轉換和基於端口轉換*
IP_forward工作原理:
內網主機向公網發送數據包時,由於目的主機跟源主機不在同一個網段內,所以,數據包暫時發往默認網關處理,而本網段的主機不做任何迴應,由於源主機IP是私有的,禁止在公網使用,所以必須將數據包的源發送地址修改成公網上可用的IP,這就是網關收到數據包之後首先要做的工作# --IP轉換,然後網關將數據包發往目的主機,目的主機收到數據包後,認爲這是網關發送的請求,並不知道內網主機的存在,目的主機處理完請求後,把迴應消息發還給網關,網關收到後,將目的主機發還的數據包的目的地值修改i爲發出請求的內網主機的IP地址,並將其發給內網主機,這是網關的第二個工作---數據包的路由轉發,內網的主機只要查看數據包的ip與發送請求的源主機IP地址一致,就會迴應,完成一次請求。
處於安全考慮,Linux系統默認是禁止數據包轉發的,所謂轉發,即主機擁有一塊或多塊網卡時,其中一塊收到數據包,根據數據包的目的地址發往本機的另一網卡,該網卡根據路由表繼續發送數據,這通常是路由器所要實現的功能。
# cat /proc/sys/net/ipv4/ip_forward
1 *爲1 表示允許數據包轉發,爲0表示不支持數據包轉發*
重啓網絡服務或主機後效果不再。若要其自動執行,可將命令echo "1" > /proc/sys/net/ipv4/ip_forward 寫入腳本/etc/rc.d/rc.local 或者 在/etc/sysconfig/network腳本中添加 FORWARD_IPV4="YES"
參考博客:http://www.cnblogs.com/jackhub/p/3575879.html