FlossDoc: 請協力 GPLv3 的中文翻譯工作。
分享 Internet 連線
FlossDoc,自由中文開源知識庫
| 標準文章 | |
|---|---|
| 作者: | 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/Router) : 192.168.0.1
較簡單的方法是架設一台 DHCP 伺服器統一管理以上設定,那一般電腦開機時會自動向 DHCP 伺服器取得網絡設定。例以下以是假設對外的介面被分配為子網絡 172.168.12.0/255.255.255.0 (可以使用命令 /sbin/ifconfig eth0 取得) 時 ISC DHCP 伺服器的典型設定:
default-lease-time 600;
max-lease-time 7200;
option domain-name "example.com";
subnet 172.16.12.0 netmask 255.255.255.0 { }
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.200;
option domain-name-servers 8.8.8.8;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 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.












