2,287 瀏覽數

就是要上網 – 3.5G 篇

我們公司除了 http(Port:80) / https(Port:443) 有開放外幾乎所有的服務都不被允許,這我可以理解但我們公司對於我們要上的網站也都會加以限制,比如像是 blog 之類的,但好死不死的很多資料可能都還是要去一些知名部落客網站上查詢,所以公司幾乎是每人人手一支 3.5G HSDPA 的無線網卡來上網,但是不限流量的包月方式每個月的費用也相當驚人.

  • 中華 NT:850
  • 台灣大哥大 NT:699
  • 威寶 NT:599

以上為參考價格須依電信商公告價格為主.

所以想說有什麼方式可以透多個人同時透過這 3.5G HSDPA 的無線網卡一起來上網,第一個想到的就是透過 Linux 的 NAT 的方式.我選擇了威寶的方案,他所使用的是中興通訊使用的是 USB 介面的 ZTE MF626 網卡. http://www.vibo.com.tw/CWS/Consumer_Netcard 但一開始設定所使用作業系統為 RHEL 5 但卻在設定 3.5G HSDPA 的無線網卡卡死了

[root@benjr ~]# lsusb
Bus 002 Device 002: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636
Bus 002 Device 001: ID 0000:0000
Bus 007 Device 001: ID 0000:0000
Bus 008 Device 001: ID 0000:0000
Bus 006 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000

雖然可以找到 ZTE MF636 但卻找不到可以用這 3.5G HSDPA 的無線網卡的設定方式.所以最後採用的是 uBuntu 10.10 Desktop.

Ubuntu 10.10 Desktop

  1. 設定 3.5G 網卡上網
  2. 設定 NAT、DHCP
  3. 公司內部網路

ubuntu_nat05

  1. 設定 3.5G HSDPA 網卡上網
    首先要設定的是 NAT Server 的 IP,建議使用固定 IP , Clients 端會比較方便設定.

    $ sudo vi /etc/network/interfaces
    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
    address 172.16.0.3
    netmask 255.255.255.0
    

    在 ubuntu 10.10 Desktop 要設定 3.5G HSDPA 的無線網卡很簡單透過他提供的 GUI 程式 "Network Connections" 短短幾個步驟即可完成,這程式可以在 System / Preferences / Network Connection 這裡來設定.在 "Mobile Broadband" 新增 "Add"
    ubuntu_35g01
    在 ubuntu 偵測到我的 ZTE MF636 所以在新增時就可以選擇 "ZTE CDMA Techologies MSM" 裝置,如果偵測不到可以透過 #lsusb 指令,接下來設定就依據自己的電信商,我目前使用的是威寶 "Country" 選擇 "Taiwan" , "Provider" 選擇 "Vibo Telecom" ,其他使用預設值即可.
    ubuntu_35g02
    ubuntu_35g03
    ubuntu_35g04
    ubuntu_35g05
    ubuntu_35g06
    設定好之後要手動修改 APN(Access point name),每一家的電信商設定值皆不同,威寶使用的名稱為 "internet"
    ubuntu_35g07

  2. 設定 NAT、DHCP
    目前我們可以透過 3.5G HSDPA 上網,接下來就是好分享給他其使用者來使用,最簡單的方式即是打開 Linux 下 iptables 的 NAT.ubuntu 預設沒開啟 ip_forward 首先編輯 /etc/sysctl.conf

    $cat /proc/sys/net/ipv4/ip_forward
    

    如果為 0 表示沒有啟動,須透過下面的方式來啟動.

    $sudo vi /etc/sysctl.conf
    net.ipv4.ip_forward=1
    net.ipv6.conf.default.forwarding=1
    $sudo sysctl -p
    

    在 ubuntu 可以使用 ufw 設定防火牆不過 NAT 的設定只需要這 3 行,所以還是直接使用 $iptables 指令來做.

    $sudo iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o ppp0 -j MASQUERADE
    $sudo iptables -A FORWARD -s 172.16.0.0/24 -o ppp0 -j ACCEPT
    $sudo iptables -A FORWARD -d 172.16.0.0/24 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT
    
    • -t nat — the rule is to go into the nat table
    • -A POSTROUTING — the rule is to be appended (-A) to the POSTROUTING chain
    • -s 172.16.0.0/24 — the rule applies to traffic originating from the specified address space
    • -o ppp0 — the rule applies to traffic scheduled to be routed through the specified network device
    • -j MASQUERADE — traffic matching this rule is to "jump" (-j) to the MASQUERADE target to be manipulated as described above

    https://help.ubuntu.com/8.04/serverguide/C/firewall.html

    $ sudo iptables -L
    [sudo] password for ben:
    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    ACCEPT all — 172.16.0.0/24 anywhere
    ACCEPT all — anywhere 172.16.0.0/24 state RELATED,ESTABLISHED
    
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    

    172.16.0.0/24 主要是我環境 Server / Clients 的網段 IP,NAT 的環境已經架設完成,DHCP 為非必要的,我們可以透過固定 IP 並將 Default gateway 設定成 NAT 的 IP,回到 Clients 端.將 IP 設為 17216.0.0/24 同網段,並將 default gateway 設定成 172.16.0.3.此時你的同事電腦即可以透過這 3.5G 一起上網.

  3. 公司內部網路
    這邊牽扯到一個問題當我們是用這 NAT 時,公司內部資源將無法使用如 mail 之類的,所以建議在 NAT Server 加入一筆 routing table,目前我公司內部網路網段為 10.0.0.0 ,不過前提是這一台 NAT Server 必須有兩個網路埠,一個為 NAT (IP:172.16.0.3) ,另外一個為公司內部 (IP:10.16.0.2)

    $ sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.16.0.2
    $ route
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    202.144.208.131 * 255.255.255.255 UH 0 0 0 ppp0
    172.16.0.0 * 255.255.255.0 U 0 0 0 eth0
    link-local * 255.255.0.0 U 1000 0 0 eth0
    10.0.0.0 10.16.0.2 255.0.0.0 UG 0 0 0 eth0
    default 202.144.208.131 0.0.0.0 UG 0 0 0 ppp0
    

    不過光這樣還是不行內部網路還需要設定一組 NAT 來做轉送的動作.
    ubuntu_nat06
    這邊順便介紹一下在 windows 下可以使用 tracert 這隻工具或是 Linux 下的 tracerout 來檢視網路設定是否可以正確連接到外部網路.

如果你不像我這麼閒的話可以直接買 "3.5G行動寬頻分享器" 就不用像我這麼辛苦了.

9 個網友的想法 “就是要上網 – 3.5G 篇

  1. 自動參照通知: 就是要上網 – 透過手機分享多人上網 – Benjr.tw

  2. 自動參照通知: Linux – NAT + Routing – Benjr.tw

  3. 自動參照通知: 就是要上網 – OpenVPN-AS (VPN+SSL) | Benjr.tw

  4. 欢迎访问 Tomato DualWAN 网站
    最近想把這 3.5 G 上網速度提升,想到的方式就是再加上另外一組 3.5G 模組,但要怎麼做呢!!沒什麼經驗,同事推薦我使用 Tomato DualWAN http://www.dualwan.cn/ 加上 ASUS WL-520GU 就可以做到了.

  5. 威寶 3 / 3.5 G 的網路狀態都一定是斷線的狀態
    目前遇到一個怪問題,每天早上看到我的威寶 3 / 3.5 G 的網路狀態都一定是斷線的狀態,不管怎麼設定都無行啟動,一定要重新開機才能恢復.也找不到相關的設定檔案.累人阿!!

發表迴響