Ubuntu 當IP分享器上網疑問? [論壇 - 新手村]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

(1) 2 3 »


Ubuntu 當IP分享器上網疑問?
會員一級
註冊日期:
2012/6/21 11:10
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 8
MP : 1 / 256
EXP: 34
離線
想請問一下論壇的大大們
小弟我最近想來摸索Linux這塊領域
選擇了Ubuntu後,只是我家有兩台電腦要一起上網(XP,Ubuntu)

一開始想說用switch讓兩台電腦上網
後來發現ISP只提供一組動態IP,不能直接用switch上網 (> <..)

但是我又不想多花錢買IP分享器

最後網路上查啊查~
發現Ubuntu可當IP分享器使用,只是工程感覺挺浩大(DHCP+NAT?)
這樣Ubuntu跟XP就都能上網

那這樣Ubuntu上雙網卡,xp單網卡就好
那連接方法是?
cable modem接Ubuntu A網卡,Ubuntu B網卡需要跳線接XP嗎?



.. 小弟我其實對網路一些概念還滿薄弱的

2012/6/21 11:27
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?
管理員
註冊日期:
2011/3/11 6:32
所屬群組:
討論區管理群
等級: 44
HP : 216 / 1084
MP : 1088 / 36627
EXP: 38
離線
直接買一台會比較省事唷

2012/6/21 12:18
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 65765
EXP: 24
離線
那這樣Ubuntu上雙網卡,xp單網卡就好 那連接方法是? cable modem接Ubuntu A網卡,Ubuntu B網卡需要跳線接XP嗎? .. 小弟我其實對網路一些概念還滿薄弱的

如果你是 ubuntu 新手
建議你
雙網卡 接在 XP
因爲 xp 的上網 本身就可以設定 分享 比較容易成功

ubuntu 要接 雙網卡
不是說不行 而是新手要搞定 要花一點心思
等你 ubuntu 特別是 網路 有了一些認識 再來考慮
讓 ubuntu 安裝 雙卡

2012/6/21 13:40
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?
會員一級
註冊日期:
2012/6/21 11:10
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 8
MP : 1 / 256
EXP: 34
離線
雙網卡 接在 XP
因爲 xp 的上網 本身就可以設定 分享 比較容易成功

感謝 poloshiao 大大
大致上了解,都不知道XP可以方便的設定(學到一課)
我先來測試看看~

2012/6/21 14:05
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?
會員四級
註冊日期:
2008/11/20 21:32
所屬群組:
已註冊使用者
等級: 20
HP : 0 / 487
MP : 163 / 19726
EXP: 48
離線
假設:
對外網卡 eth0 (接小烏龜數據機)
對內網卡 eth1 (接內部區網電腦或交換器的)

內部區網的網段 192.168.0.0/24

eth0 採用 PPPOE/DHCP ,假設得到的 IP 為 11.22.33.44

eth1 設固定 192.168.0.254 / 255.255.255.0
與內部區網電腦連接
若沒透過交換器,直接插區網電腦,需要跳線


在不考慮埠轉換,防火牆那些
NAT 轉換,只需一行 iptables 程式碼

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to-source 11.22.33.44


就是說你把網路都弄好後

打這行指令:(Ubuntu 需要前面加 sudo 權限)
註:指令中的值都是前面假設的

sudo iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to-source 11.22.33.44


Ubuntu 就是 IP 分享器了!

全部只需一行指令,不過指令中的值,必須對應你的實際網路環境。

註:
NAT 相當於 windows 的網際網路連線共用( ICS,Internet Connection Sharing)


不過因為沒有架設 DHCP 伺服器服務
所以另一台區網電腦那邊,你要自己手動設定網路

舉例:
IP: 192.168.0.1(1~253 都可以用)
子網遮罩: 255.255.255.0
閘道:192.168.0.254

DNS1:8.8.8.8
DNS2:168.95.1.1

註:
若用 windows ICS 當 IP 分享器,一樣沒 DHCP,另外一台電腦,也是必須像這樣手動設定網路值。



單純只要 NAT 轉換的話,以上就 OK 了

下面說的是進階的:

***************************************************

如果要完整的路由器功能
包括:NAT 轉換、埠轉換、防火牆.....等等

這支 iptables 閘道防火牆腳本拿去參考看看:
https://www.box.com/s/j9g8bunecyb8qsr8md8x


說明:
1.把腳本中變數值的地方,設一設,然後執行它(要用 sudo 權限)
sudo bash gw-firewall.sh start

2.此腳本不支援動態 IP 檢測,只能是固定 IP

若你的 ISP 提供申請固定 IP,建議去申請一個,會比較方便使用

否則每次執行腳本前,要將腳本中對外 IP的變數值,改成目前對外IP


3.若想開機自動執行,可把腳本放在開機啟動目錄

4.但是假如用 Ubuntu 桌面版本,桌面那個網路管理器(network manager),登入後才會撥接,登入前是無上網狀態的。

所以必須把那個網路管理器(network manager)移除掉
然後改用 rp-pppoe 去撥接
rp-pppoe 才能在開機階段就撥接上網,後面的腳本才能生效

rp-pppoe 使用方法,具體可參考這個教學:
http://linux.vbird.org/linux_server/0130internet_connect.php#connect_adsl

不過這樣很複雜,建議乾脆放棄開機自動啟動
改為開機後、登入後,再用1那個方法,去手動執行腳本就好


*******************************************************

DHCP 架設不難 (網路設定值"自動取得"的服務器)

1.安裝 dhcpd 套件
軟體中心搜尋 dhcpd,或者 apt-get install dhcpd

2.修改 /etc/dhcpd.conf 設定檔 (dhcpd 的設定檔)
sudo gedit /etc/dhcpd.conf

3.重新啟動 dhcpd 服務
sudo /etc/init.d/dhcpd restart

4.搞定


不過有一個問題是:dpcpd 「對外網段」不支援動態 IP

如果「對外網段」是每次撥接都固定,會比較好設定

不固定的話,必須另外寫腳本,去偵測「對外網段」多少

或者每次重新 PPPOE 撥接,對外IP 有改變
就要去修改一次 dpcpd 設定檔的「對外網段」
然後重新啟動 dhcpd 一次

註:「對外網段」(WAN 網段)不是「對外IP」
比方說:
「對外 IP」:11.22.33.44
「對外網段」一般為: 11.22.33.44/255.255.255.255

dhcpd 服務
規定一定要設 "所有網卡" 的「網段」
否則服務啟動會失敗


dhcpd.conf 註解中文化
https://www.box.com/shared/2g2qosn3tr


****************************************

補充:

1. Linux 的 NAT 效能,比 windows 的 ICS ,好非常多

2.使用 Linux 當路由器,其效能媲美市面一台數萬元的硬體路由器

不過電腦必須開機著,吃電,才能當路由器
外面市售硬體路由器,不像 PC 電腦那麼耗電費


幾百元~幾千元的 IP 分享器(效能不好,且容易熱當)
CPU:ARM 32~192 MHz
RAM:8~32MB
耗電:10~20W 以下

數萬元的路由器:
CPU:ARM 或 X86 1GHz 左右
RAM:256MB~1GB
耗電:30~60W 左右

PC 電腦當 IP分享器:
CPU:2~3GHz,或者雙核心以上
RMA:數 GB
耗電:30~150W 左右(看用什麼 CPU,ATOM 的話可以 30W)

2012/6/21 18:07
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 65765
EXP: 24
離線
eth0 採用 PPPOE/DHCP ,假設得到的 IP 為 11.22.33.44
eth1 設固定 192.168.0.254 / 255.255.255.0

ubuntu 12.04 的網路設定 已非你現在所描述的那麼單純了
1. 同一個時間 只能有一個 route 換句話說 同一個時間只有一個網卡 可以通 無法兩個都通

2. ubuntu 預設 同一時間 只能有一個 網卡成功連上網
另外一個網卡 連通後 自動斷線 呈待機狀 待機期間 是不通的
這一點 包含 有線 無線 3G blueteeth modem ... 通通包括在內
註 某些品牌 某些型號 也許還無法完全照這樣控制

3. 每次重新開機 有幾個設定檔都會自動更新
所以每次開機 你都需要重新設定

4. ubuntu 這樣的方向 是要朝向 移動裝置 可以正常連線上網

5. 一個新手 要解決上面問題
不是不行
要費很大的心血
所以建議 ubuntu 新手
暫時不要去嘗試 雙網卡 在 ubuntu 上
那是與 ubuntu 的發展方向 相逆的

6. 如果你真的要使用 買個 IP 分享器 或 路由器
是最合乎效益的

2012/6/21 18:22
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?
會員四級
註冊日期:
2010/8/12 15:54
所屬群組:
已註冊使用者
等級: 18
HP : 0 / 443
MP : 135 / 15710
EXP: 72
離線
poloshiao 寫到:
ubuntu 12.04 的網路設定 已非你現在所描述的那麼單純了
1. 同一個時間 只能有一個 route 換句話說 同一個時間只有一個網卡 可以通 無法兩個都通

2. ubuntu 預設 同一時間 只能有一個 網卡成功連上網
另外一個網卡 連通後 自動斷線 呈待機狀 待機期間 是不通的
這一點 包含 有線 無線 3G blueteeth modem ... 通通包括在內

1. routing table 從來沒有只能有一筆記錄的吧
default route(default gateway) 本來就只能有一個
你附的連結我去看了,看來是某些狀況會有 bug吧!
另外,網卡要通,在同網段內不用設 route也會通


2. 有這回事??
我還沒看過有 Server 硬體是單網卡的.....這樣server不就不用玩了

2012/6/21 18:37
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 65765
EXP: 24
離線
謝謝 acman 關注 也歡迎您指導

我的建議只對 ubuntu 新手 不移除/安裝 額外套件的前提
無論從 NM-Applet 或 /etc/network/interfaces 設定
都無法讓 default route 產生兩個都能通的
以前 10.04 10.10 方法可以的 現在還沒找得到 行得通的方法
一個通了 另一個一定不通
我每臺桌電都有雙網卡 一個接 路由器 另一個接 switch 當區網
以前可以兩個都通
現在 如果不 移除/安裝 額外套件
就無法 兩個網卡都通
只好讓 switch 晾在那裏
區網也都透過 路由器
如果有人提供一個簡單的方法 讓兩個網卡都通
還得謝謝他

當然 對於 Linux 老手 懂得如何 移除/安裝 某些套件
問題一定能解決

但是新手 比較建議它們去買一個 IP 分享器 或 路由器
效益/成本 比 更高 因爲 IP 分享器 或 路由器 還有許多其它功能
我還沒看過有 Server 硬體是單網卡的.....這樣server不就不用玩了

因爲 server 版沒安裝 Network Manager
所以沒這個問題
自動斷線呈待機狀 是 Network Manager 的 預設行爲
當然 可以透過 設定 改變 這些 預設行爲
而且 這個特性 還在開發中
對於某些個別品牌個別型號 可能還不是全部都能有效
但是 network manager 每次新版本出來
都會增加一些 類別的裝置在名單中

2012/6/21 18:43
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?
會員一級
註冊日期:
2012/6/21 11:10
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 8
MP : 1 / 256
EXP: 34
離線
感謝各位大大支援小弟我呀> <

說真的好多技術方面的東西要學啊
看來我閒閒的日子,有得忙囉

我最後採用網卡裝在XP上,成功讓我的Ubuntu可以上網囉!

2012/6/21 19:07
應用擴展 工具箱
回覆: Ubuntu 當IP分享器上網疑問?
會員四級
註冊日期:
2008/11/20 21:32
所屬群組:
已註冊使用者
等級: 20
HP : 0 / 487
MP : 163 / 19726
EXP: 48
離線
Ubuntu 12.04 NAT (當 IP 分享器)手把手簡易教學(3分鐘搞定)


Ubuntu 端,雙網卡設定部份



(上圖)兩張網卡

eth0
對外網卡,WAN (以下簡稱: WAN 網卡)

網路線:
插 ISP 的數據機

eth1
對內網卡,LAN(以下簡稱 LAN 網卡)

網路線:
插家裡交換器(不用跳線)
或直接插別台電腦(須跳線)





(上圖)LAN 網卡,手動設定 ipv4

把 ipv6 關掉,設「忽略」

ipv4 手動設定,然後 [加入]

IP:建議 192.168.0.254
子網遮罩:255.255.255.0(/24)
通訊閘(閘道):去看 WAN 網卡的(ISP 指定的)


Q.如何看 ISP 指定的「閘道 IP」為多少?

A.
先 PPPoE 或 DHCP 上網



(上圖)WAN 網卡,採用 PPPoE 撥接,或 DPCP 自動取得,由 ISP 派送資料




(上圖)WAN 網卡「連線資訊」裡面那個「預設路由」,就是「閘道」!

以上圖來說,「WAN網卡」的閘道為: 192.168.0.254

這個「閘道IP」就是「LAN 網卡」那邊,「通訊閘」要設的 IP




(上圖)「LAN 網卡」的「通訊閘」,就是「WAN 網卡」的「閘道」(預設路由)




****************************************

Ubuntu 端,NAT 指令部份


將以下內容,存成一個腳本檔案

打開 gpedit 記事本
複製-貼上,以下區塊的指令內容

存檔,檔案名稱:啟動網路分享.sh
(或任何你高興的名稱,副檔名建議 .sh)



#/bin/sh

# 啟用 ipv4 封包轉換 (閘道防火牆必須)
sudo echo 1 > /proc/sys/net/ipv4/ip_forward

# 設定 iptables 的 NAT 偽裝 (採用 SNAT 重新導向,提昇效能)
sudo iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to-source 11.22.33.44



註:上面 iptables 指令最末尾那個 11.22.33.44,請改成你 eth0( WAN 網卡)的 IP。

Q.如何知道 eth0( WAN 網卡) IP 多少?

A.



(上圖)看「連線資訊」,上面就有顯示了,比如上圖是 192.168.0.193


註1:上圖 或 11.22.33.44,都只是範例,你的對外網卡 IP,一定和這個範例不一樣。

指令中最末尾那個 11.22.33.44,請改成你「WAN 網卡」(eth0)的對外IP。

註2:若是浮動、動態IP,有可能每次撥接都不同。那就每次都要去改那個腳本。


將這個腳本,存成檔案後,比如:啟動網路共享.sh

對準該腳本檔,滑鼠右鍵,屬性,「可執行」打勾,按確定
然後點兩下,執行它(過程中會要求輸入 sudo 密碼)


註:
關於防火牆

請確定你的防火牆是空的,或者開放讓 192.168.0.0/24 進出
不然的話,區網那邊過來的封包(eth1,LAN 接入的封包),會被防火牆擋下


********************************************

Windows 端,網卡設定




(上圖)修改網路介面卡設定,ipv4 部份,手動輸入


IP 隨便:192.168.0.1 ~ 192.168.0.200 取其一,高興就好
子網遮罩:255.255.255.0

閘道:Ubuntu 端,對內網卡(eth1,LAN網卡)的 IP




(上圖)比方說:上圖「LAN 網卡」IP 為 192.168.0.199(僅是範例)

那這個就是 windows 端網卡的「閘道 IP」

註1:上圖只是範例,你的一定不一樣,以你的為準。
註2:建議 Ubuntu 「對內網卡 LAN」設為 192.168.0.254

DNS1:8.8.8.8 (Google)
DNS2:168.95.0.1(中華電信)

手動設定好後,按確定

註:Windows 更改網卡 ipv4 設定後,要把網卡停用,再啟用,才會立即生效。否則須等一段時間才會生效。




(上圖)測試能不能上網,測試結果:OK

請注意看網卡的「閘道」
就是 Ubuntu 的「對內 LAN 網卡」的 IP
這台 windows 現在就是靠 Ubuntu 當 IP 分享器 在上網。



教學結束,大功告成,Good Luck

*******************************************

其它可能遇到問題 Q&A (僅供有問題時參考)


關於「路由」的問題

一般來說,應該不會遇到,但假如真的路由不通,參考以下教學去做修正


相關參考資料:route 指令教學:
http://linux.vbird.org/linux_server/0140networkcommand.php#route




(上圖)本機路由表(註:其中有一行錯誤路由)

Q.這個本機路由表,怎麼看?

A.
Destination = 目標位址
Gateway = 閘道,中繼站,轉送站,轉運站
Genmask = 子網遮罩
Iface = 網卡界面編號


比方說:

上圖表格

第1行的意思
凡是目標要去 0.0.0.0 的封包(0.0.0.0 指外面網路)
必須經過閘道 192.168.0.254
然後要走 eth0 這張網卡


第3行的意思
凡是目標要去 192.168.0.0/24 的封包
要走 eth0 這張網卡


第4行的意思
凡是目標要去 192.168.0.0/24 的封包
要走 eth1 這張網卡


這邊看出「錯誤」了嗎?

第3行,和第4行,顯然有衝突

怎麼去 192.168.0.0/24 的封包
既走 eth0,也走 eth1?
這樣是不行的,路由必須明確且唯一,不能有模擬兩可的情況
這樣的路由一定會發生問題


修正:

第3行其實是錯誤的路由,把它砍了(del 刪除)




(上圖)下了一行 del 刪除路由指令,將原先第3行路由刪除

刪除後,路由表就正常了

這樣就修正「路由問題」了

註:
1.下指令對本機路由表進行修改,重開機就會不見,所以每次開機後,都要改一次。

2.
如果路由表有問題,建議將指令也寫到前面那個「啟動網路共享.sh」最末尾

這樣點腳本兩下就會執行,省事

2012/6/21 20:58
應用擴展 工具箱

(1) 2 3 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.