萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 路由轉發實現共享上網:IP 轉發、iptables NAT 與 ip route 完整設定教學

Linux 內核支援 IP 轉發功能,配合 iptables NAT 或 ip route 即可將 Linux 主機化身為路由器,實現區域網路共享上網。本文詳細說明開啟 IP 轉發、兩種路由實現方式、客戶端設定與永久生效配置。

Linux 路由共享上網架構圖

一、啟用核心 IP 轉發

臨時啟用(重啟失效)

echo "1" > /proc/sys/net/ipv4/ip_forward

永久啟用

# 編輯 /etc/sysctl.conf
net.ipv4.ip_forward = 1
# 套用
sysctl -p

二、路由功能實現兩大工具比較

特性iptables NATip route (iproute2)
適用上網方式動態 IP (PPPoE) / 固定公網 IP動態 IP / 固定公網 IP
NAT 功能內建 SNAT/MASQUERADE/DNAT無(純路由轉發)
隱藏內網 IP支援不支援
進階功能策略路由、負載平衡、多 WAN 需配合 ip route策略路由、多路徑、負載平衡核心工具

生產環境常 兩者搭配:ip route 處理複雜路由決策,iptables 處理 NAT 與防火牆。

三、iptables NAT 設定範例

1. 動態撥號 (PPPoE,介面 ppp0)

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

需先完成撥號設定(/etc/sysconfig/network-scripts/ifcfg-ppp0)。

2. 固定公網 IP (假設 202.103.224.58)

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 202.103.224.58

四、ip route 設定範例

1. 動態撥號

ip route add default via ppp0 dev eth0

2. 固定公網 IP

ip route add default via 202.103.224.58 dev eth0

五、客戶端網路設定

  • IP 範圍:192.168.1.2 ~ 192.168.1.254(不可重複)
  • 子網遮罩:255.255.255.0
  • 預設閘道:192.168.1.1(Linux 路由器 LAN 介面 IP)
  • DNS:可用 ISP 提供或公開 DNS (8.8.8.8, 1.1.1.1)

本範例未架設 DHCP,需手動設定各客戶端。

六、優勢總結

  • 節省公網 IP 資源(NAT 共用單一公網 IP)
  • Linux 核心級轉發效能高、資源占用低
  • 硬體需求低,舊電腦即可勝任
  • 彈性強:可擴充防火牆、QoS、多 WAN、VPN 等進階功能

小結

掌握 sysctl 啟用轉發、iptables -t nat 處理 NAT、ip route 管理路由表,即可打造功能完整的 Linux 共享上網閘道。建議搭配 iptables-save / systemd-networkd 實現開機自動套用規則。

copyright © 萬盛學電腦網 all rights reserved