Linux

如何從我的 Linux 作業系統建構網關

  • December 5, 2013

我想配置我的 Linux 以便將其用作網路路由器(網關)。有人可以給我一些提示嗎?(歡迎連結!)

對於一個簡單的路由器,實際上只需要完成兩個步驟。

啟用路由

第一步是在核心中啟用路由。預設情況下,核心會丟棄它無法辨識的數據包;啟用路由後,它將轉發它們。您需要在電腦啟動時發出以下兩個命令之一:

sysctl -w net.ipv4.ip_forward=1
echo 1 >/proc/sys/net/ipv4/ip_forward

許多發行版都有一個名為 的文件/etc/sysctl.conf,您可以在其中放置行net.ipv4.ip_forward=1以在電腦啟動時執行該命令。如果有目錄/etc/sysctl.d,您可以在該目錄中添加文件而不是編輯/etc/sysctl.conf;呼叫文件*something*.conf

對於 IPv6,相應的設置是net.ipv6.conf.all.forwarding/proc/sys/net/ipv6/conf/all/forwarding。您也可以使用net.ipv4.conf.all.forwarding/proc/sys/net/ipv4/conf/all/forwarding用於 IPv4。

設置路由表

第二步是設置路由表。這可以是簡單的也可以是複雜的,這取決於你需要做多少。為了簡單的使用,配置每個網路介面的地址和網路遮罩,並使用命令添加任何需要的額外路由route

超越簡單的路由

如果您需要重寫數據包,基本命令是iptablesip6tables對於 IPv6)。(“Netfilter”是核心數據包處理工具的名稱,“iptables”是控制它的程序的名稱。)這是尋找過濾、NAT等的地方。

對於復雜的設置,請查看iproute2包中的ip命令。

引用自:https://unix.stackexchange.com/questions/29095