OSWikiHK: 請協力 GPLv3 的中文翻譯工作。
分享 Internet 連線
OSWikiHK,自由中文開源知識庫
| 標準文章 | |
|---|---|
| 作者: | Jadedragon |
| 協力: | Roy Chan,Hedgehog |
| 校對: | AnthonyWong |
| 分享本文: | |
雖然現在 broadband router 十分普遍,而且十分便宜。其實使用 GNU/Linux 來當 broadband router 也很簡單。如果有舊電腦 (486 亦可) ,也可以用來作 Broadband router。
目录 |
硬體需求
首先,您需要一台GNU/Linux 作為閘道器(Gateway)。因為這個閘道器會分享 Internet 連接,所以常被稱為 IP masquerade Box、IP Sharer 或 Broadband Router 。這台機器不需要太強,一台 486 已足夠應付。最重要是需要有兩片良好的網絡卡,一片連接上 Internet ,另外一片連到您的內聯網(Intranet) 中。
為方便說明,我們假設連上 Internet 的網絡介面為 eth0 ,而連到您內聯網的網絡介面為 eth1。您的內聯網的子網絡(subnet) 為 192.168.0.0 至 192.168.0.255,而作為閘道器在內聯網的 IP 地址為 192.168.0.1 。
設定閘道器 (Setup Gateway)
啟動 ip_forwarding 功能
因為安全問題,Linux 核心預設不允許轉遞外來的網絡封包,避免惡意攻擊者利用您的 GNU/Linux 作炮台轉遞攻擊封包到其他電腦,但這亦令您的 GNU/Linux 不能作為 router。您需要打以下指令開啟 IP Forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forwarding
或如果不想每次重啟後都再做一次,可以:
在 /etc/sysctl.conf 內加入:
net.ipv4.ip_forward = 1
用 iptables 設定 netfilter
假定您的私人網絡的子網絡(subnet) 為 192.168.0.0 至 192.168.0.255 ,您可以打以下指令:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
在您可以試試在其他電腦是否可以透過這台 GNU/Linux 上網。
不想每次重新啟動 GNU/Linux 時都要打以上的 iptables 指令,RedHat、Fedora 或 CentOS 管理員可以打:
iptables-save >/etc/sysconfig/iptables
以上指令會把現時的 Netfilter 設定存入檔案 /etc/sysconfig/iptables,讓 RedHat、Fedora 或 CentOS 等下次啟動是會自動載入相關設定。
設定工作站
把內聯網其他電腦設定為:
- IP地址 (IP Address) : 192.168.0.2 至 192.168.0.254 任何一個 IP 地址。
- 網絡罩遮 (Network Mask, Netmask) : 255.255.255.0
- 閘道器 (Network Gateway, Gateway, Router) : 192.168.0.1
相關連結
- 工頭 (2005). 工頭的家 - Linux 小技巧 - 在 Redhat 9 中快速架設 NAT 伺服器(IP 分享器)的方法. 工頭的家.
- 王全世 (2006). 用 Fedora Core 5 來架設 NAT Server .
- Chantra (2006). Debian/Ubuntu Tips & Tricks: Iptables - How-to Share your internet connection. Debuntu.












