IP_forward

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章