將 Ubuntu 設定為 Router

找一台有兩張網卡的電腦當作 Router,另外兩台分別稱做 Server 與 Client。要做的事情就是讓 Server 與 Client 可以互相溝通,而 Router 負責轉送封包。


連接網路線

將 Server、Client 與 Router 連接起來,如下

router e1451194263959 - 將 Ubuntu 設定為 Router

開啟封包轉送功能 IP forwarding

開啟以下檔案,將 ip_forward 設為 1。

sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1

輸入以下指令載入新設定。

sudo sysctl -p

檢查 ip_forward 是否成功設為 1。

cat /proc/sys/net/ipv4/ip_forward

設定 IP

Client IP為 192.168.1.1,Server IP為 192.168.2.1 而 Router 有兩個網卡 eth0 與 eth1,eth0 為 192.168.1.2,eth1 為 192.168.2.2 在Router上編輯 interfaces 檔案。

sudo vim /etc/network/interfaces
auto lo
iface lo inet loopback

# Client
auto eth0
iface eth0 inet static
netmask 255.255.255.0
address 192.168.1.1
gateway 192.168.1.2

# Server
auto eth1
iface eth1 inet static
netmask 255.255.255.0
address 192.168.2.1
gateway 192.168.2.2

Client 與 Server也是同樣方式,設定好固定 IP 即可。


重新啟動網卡

sudo /etc/init.d/networking restart

參考資料

Jerry
Jerry

樂於分享的軟體工程師,曾在新創與大型科技公司實習,獲得黑客松競賽冠軍,擔任資安研討會講者。長期熱衷於資訊安全、雲端服務、網路行銷等領域,希望將科技知識分享給更多人。內容轉載請來信:jlee58tw@gmail.com

2 則留言

  1. 你好非常感谢你的教程,有一个问题想问一下,router只有一个网卡能不能实现上述功能?

發表回應