如何在Ubuntu系統(tǒng)下開啟IP轉發(fā)功能
在網絡通信中,IP地址分為公有和私有兩種類型。Public Address由Internet Network Information Center (INIC) 負責分配給注冊并向其提出申請的組織機構
在網絡通信中,IP地址分為公有和私有兩種類型。Public Address由Internet Network Information Center (INIC) 負責分配給注冊并向其提出申請的組織機構,而Private Address則為非注冊地址,專門供組織內部使用。由于私有地址無法直接與WAN通信,因此需要利用幀中繼(FRE)、高級數(shù)據鏈路控制(HDLC)、點對點協(xié)議(PPP)或路由器轉發(fā)(NAT)功能將其轉換為公有地址。
1. Linux系統(tǒng)默認禁止數(shù)據包轉發(fā)
出于安全考慮,Linux系統(tǒng)默認禁止數(shù)據包轉發(fā)。所謂轉發(fā)即當主機擁有多于一塊的網卡時,其中一塊收到數(shù)據包,根據數(shù)據包的目的IP地址將數(shù)據包發(fā)往本機另一塊網卡,該網卡根據路由表繼續(xù)發(fā)送數(shù)據包。這通常是路由器所要實現(xiàn)的功能。
2. 檢查是否開啟轉發(fā)功能
通過訪問sysctl的內核ipv4.ip_forward來判斷轉發(fā)是否開啟,其中IPv6可以改為ipv6使用sysctl:sysctl net.ipv4.ip_forward。如果輸出結果為0,則IPv4轉發(fā)沒有開啟。
3. 啟動IP轉發(fā)
通過執(zhí)行以下命令,可以在無需重啟計算機的情況下開啟IPv4的轉發(fā)功能:
sysctl -w net.ipv4.ip_forward1 或 echo 1 > /proc/sys/net/ipv4/ip_forward
這種設置只是暫時的,并且會隨著計算機的重啟而失效。若想使IP轉發(fā)永久生效,需修改文件,在其中增加一條net.ipv4.ip_forward1的記錄。如果ipv4轉發(fā)項已被設為0,則只需要將其改為1。
4. 使設置生效
為了使更改生效,需要執(zhí)行以下指令:sysctl -p 。在紅帽系列的發(fā)行版上,可以通過重啟網絡服務來使設置生效,而在Debian/Ubuntu系列的發(fā)行版中,則需使用以下命令:
早期版本: restart
最新版本:/etc/init.d/procps restart
總結:
在Ubuntu系統(tǒng)下開啟IP轉發(fā)功能需要先檢查是否開啟轉發(fā)功能,然后通過執(zhí)行相關命令或修改文件來啟用IP轉發(fā)。最后,需要執(zhí)行指令來使設置生效。