什麼是核心 IP 轉發?
我在很多部落格上看到,使用這個命令來啟用 IP 轉發,同時在 linux 上使用許多網路安全/嗅探工具
echo 1 > /proc/sys/net/ipv4/ip_forward
誰能用外行的方式解釋我,這個命令本質上是做什麼的?它會將您的系統變成路由器嗎?
“IP 轉發”是“路由”的同義詞。之所以稱為“核心 IP 轉發”,是因為它是 Linux 核心的一項功能。
一個路由器有多個網路介面。如果流量來自與另一個網路介面的子網匹配的一個介面,則路由器會將該流量轉發到另一個網路介面。
因此,假設您有兩個 NIC,一個(NIC 1)位於地址 192.168.2.1/24,另一個(NIC 2)位於 192.168.3.1/24。如果啟用了轉發,並且一個數據包進入 NIC 1,其“目標地址”為 192.168.3.8,路由器將從 NIC 2 重新發送該數據包。
充當 Internet 網關的路由器通常具有預設路由,因此任何與任何 NIC 不匹配的流量都將通過預設路由的 NIC。因此,在上面的範例中,如果您在 NIC 2 上有 Internet 連接,則將 NIC 2 設置為您的預設路由,然後來自 NIC 1 的任何流量都不會發往 192.168.2.0/24 上的某些內容通過 NIC 2。希望通過 NIC 2 的其他路由器可以進一步路由它(在 Internet 的情況下,下一跳將是您的 ISP 的路由器,然後是他們的供應商上游路由器等)
啟用
ip_forward
會告訴您的 Linux 系統執行此操作。為了使其有意義,您需要兩個網路介面(任何 2 個或更多有線 NIC 卡、Wifi 卡或晶片組、通過 56k 調製解調器或串列的 PPP 連結等)。在進行路由時,安全性很重要,這就是 Linux 的數據包過濾器
iptables
參與其中的地方。因此,您將需要iptables
與您的需求一致的配置。請注意,
iptables
如果其中一個 NIC 面向 Internet 或您無法控制的子網,啟用禁用和/或不考慮防火牆和安全性的轉發可能會使您面臨漏洞。