轉載自 https://blog.51cto.com/13683137989/1880744
一、前言介紹:
IP地址分為公有ip地址和私有ip地址,Public Address是由INIC(internet network information center)負責的,這些IP地址分配給了注冊並向INIC提出申請的組織機構。Private Address屬於非注冊地址,專門為組織內部使用。Private Address是不可能直接用來跟WAN通信的,要么利用幀來通信(FRE幀中繼,HDLC,PPP),要么需要路由的轉發(nat)功能把私有地址轉換為公有地址才行。
出於安全考慮,Linux系統默認是禁止數據包轉發的。所謂轉發即當主機擁有多於一塊的網卡時,其中一塊收到數據包,根據數據包的目的ip地址將數據包發往本機另一塊網卡,該網卡根據路由表繼續發送數據包。這通常是路由器所要實現的功能。
二、路由轉發的工作原理:
首先內網主機向外網主機發送數據包,由於內網主機與外網主機不在同一網段,所以數據包暫時發往內網默認網關GIP處理,而本網段的主機對此數據包不做任何回應。由於內網主機的SIP是私有的,禁止在公網使用,所以必須將數據包的SIP修改成公網上的可用IP,這就是網關收到數據包之后首先要做的事情--IP地址轉換。然后網關再把數據包發往外網主機。外網主機收到數據包之后,只認為這是網關發送的請求,並不知道內網主機的存在,更不知道源IP地址是SIP而不是FIP,也沒必要知道,目的主機處理完請求,把回應信息發還給網關的FIP。網關收到后,將目的主機返回的數據包的目標IP即FIP修改為發出請求的內網主機的IP地址即SIP,並根據路由表將其發給內網主機。這就是網關的第二個工作--數據包的路由轉發。內網主機只要查看數據包的DIP與發送請求的SIP相同,就會回應,這就完成了一次請求。
三、配置Linux系統的IP轉發功能:
首先保證硬件連通,然后打開系統的轉發功能:
對於CentOS系統,CentOS 6 和 CentOS 7開啟路由轉發的方式有區別:
1、對於CentOS 6,有三種方法:
第一種:
第二種:
第三種:
2、對於CentOS7,CentOS 6中的第二種方法不適用,需用如下方法:
四、配置開啟路由轉發功能,實現兩台不同網段的主機實現通信
實驗環境:
主機 -- 系統 -- 主機名 -- ip :
內網主機 -- CentOS 6.7 -- local_host -- 10.68.7.234
外網主機 -- CentOS 6.7 -- pub_host -- 192.168.1.201
網關主機 -- CentOS 7.1 -- gateway -- 內網ip:10.68.7.107 --外網ip:192.168.1.200
相關配置如下:
首先開啟網關服務器的路由轉發功能:
在內網主機配置到內網網關的默認路由:
在外網主機配置到外網網關的默認路由:
通過ping測試連通性:

