Softether on Linux續集 - FAQ整理

上次隨手亂寫了一些關於Softether這個世紀網路技術的塗鴉之後,陸續收到了一些朋友來信催稿。

嗯,以前我當編輯的時候只有我催別人稿,現在卻被讀者催稿,真是有趣的現象啊。

我接下來的文章裡面大量引用以下網址的圖片,請登大游先生見諒。

SoftEther.com - SoftEther のすべて - SoftEther VPN Sys

什麼是Softether的技術?

我們先來看一張圖:



這張圖裡面有四個元件:
1. 實體Hub
2. 實體網路卡
3. 虛擬Hub
4. 虛擬網路卡

實體上的Hub和網路卡連線是靠一條網路線,這個大家應該都有點概念。

那麼,softether的連線呢?

Softether的Hub和網路卡是透過TCP/IP來連線的。

也就是說,只要TCP/IP網路可以到達的地方,就可以把虛擬網路透過Softether技術完全串連起來。

不懂?

我用另外一張圖再解釋:



這張圖是一個實際範例。這兩台電腦之間是有實體網路連結的,各自都在TCP/IP網路上可以互相通訊,也都有各自的IP。

而虛擬的網路卡和虛擬的Hub就是在這兩台機器上面各自模擬出一個Hub和一張虛擬的網路卡。即便這兩台電腦中間隔著一個防火牆,而且擁有虛擬網路卡的電腦是虛擬IP也無所謂。一樣可以通訊:



不過之前幾張圖的範例裡面,雖然虛擬網路卡可以送封包到Hub上面,不過這兩台電腦卻無法真的做出任何有效動作。也就是無法在兩台電腦之間傳送任何檔案啦。比較實際的實作應該長成這樣:



也就是說,執行虛擬Hub的那台機器上面也同時執行一張虛擬網路卡,這張虛擬網路卡會自動連線到虛擬Hub上面,那麼,這兩台機器就形成了一個LAN。

在Lan裡面,兩台電腦可以自由自在的互相通訊,即使是實體上這兩台機器之間隔著防火牆也一樣。

目前Softether完全支援的平台有Windows 2000/XP/2003。Linux只有虛擬Hub的支援。



家裡面有一台Linux server是不關機的,我在上面安裝了虛擬Hub,然後在公司的電腦上安裝了虛擬網路卡。另外,家裡有一台機器是執行Windows XP的,我在這台機器上面安裝了虛擬網路卡。

於是,公司的機器(WindowsXP)可以連上家裡的虛擬Hub(Linux),家裡的另外一台機器(WindowsXP)也連上這個虛擬LAN。也就是長成這樣:

cellspacing="2">














實體連線Office PC<-->Home Server<-->Home PC
虛擬連線Virtual NIC<-->Virtual Hub<-->Virtual NIC
真實網路IP10.1.123.123<-->192.168.15.1<-->192.168.15.10
Softether IP192.168.15.6<--> <-->192.168.15.250


也就是說,我在公司和家裡的電腦之間架設了一個虛擬的LAN。不過,目前為止這個虛擬的LAN只能夠互相之間通訊。公司的PC可以用VNC或是PC anywhere連上家裡的電腦,不過這個虛擬網路是完全無法和外界溝通的。因為這個LAN跟實體的TCP/IP網路沒有直接連線。



如果想要讓這個LAN裡面的電腦連到外界去,那麼,家裡面的那台HOME PC要做點小手腳。

如果安裝正確的話,家裡的HomePC會有一張實體網路卡(192.168.15.10),一張Softether虛擬網路卡(192.168.15.250)。只要在這兩張網路卡之間設定橋接器,實體的網路和虛擬的網路就自己橋接起來了。

也就是說,公司PC的虛擬NIC穿越防火牆 -> 連上家裡的虛擬Hub -> 連上家裡PC的虛擬NIC -> 透過家裡PC橋接器 -> 連接到家裡的Server

如果你想要設定跟我一模一樣的網路,在這裡有幾個要設定的東西:
1. 公司PC安裝Softether NIC
2. 家裡PC安裝Softether NIC
3. 家裡PC安裝橋接器

4. 家裡Linux Server安裝Softether HUB

前面三個都很簡單,不多說了。

後面這個Linux Server安裝Softether HUB也不難,請先到

http://www.softether.com/jp/download/

下載se_101_linux.zip

下載之後請解壓縮:

# unzip se_101_linux.zip

解開之後只有三個檔案:

ca.crt
ca.key
se_hub.a

然後請執行
# gcc se_hub.a -lpthread -lssl -lcrypto -o se_hub

如果你有編譯需要的libpthread以及libopenssl的話,應該會產生一個可執行檔se_hub

請在這個目錄執行se_hub (必須有ca.crt以及ca.key這兩個檔案才能啟動)
# ./se_hub



接下來,你需要先做一些管理:
# telnet localhost 8023

第一次登入的時候,Softether HUB會請你設定管理密碼,請輸入兩次。

接下來,你可能需要設定User Administration,並且新增一個user,你的虛擬NIC也作好相對應的設定就可以試著連線了。

加油!

有問題請在迴響中留言,我儘可能回答。在問問題之前請先看看以下的FAQ



Q: 很清楚的文章.....我想問一下 softether 可否硬在 win98/me 中安裝 software LAN card 呢?
似乎不行。目前Softether只有支援Windows 2000/XP以及Linux。

Q: 你好,我的机子就是连不上,右下方老是提示网络线缆没有接好没,
您能帮我解决一下吗,我是公司局域网小弟水平有限
希望借你一点时间给我回个EMAIL
在此万分感谢!
A: 這問題真難回答。

Q: 您好!
我的問題是公司裡有架設防火牆,家裡網路環境是ADSL浮動IP!
公司用VNC連回家裡沒問題,但是由家裡VNC到公司無法連到!
公司跟家裡的作業系統都是Win2000
能否協助做一個公司架softether server,家裡是用戶端的架設sample示範!
萬分感謝!!!

A: 答案是,不可能!

讓我們看看你的實體網路結構:

公司電腦 -- firewall -- internet -- 家裡電腦

如果說把公司電腦當server(softether hub),家裡電腦當client(softether NIC)
那麼當我們要從家裡透過實體網路連上公司電腦時就無法連線了!
你的狀況應該是倒過來才行啊。家裡的電腦安裝Softether的HUB和NIC,讓公司電腦一開機就連上家裡那台HUB,如此一來,softether網路上你的機器就全部連在同一個網段內了。\

Q:呵呵呵...
大原則瞭解了...
感謝Jouston Huang大哥的回覆!

另外問題是:

1.目前公司跟家裡的TCP/IP都是設定自動取得IP ADDRESS,要如何另外設定增加SOFTETHER IP,會不會影響到各自原先實體連線的正常連線呢?
2.我家裡並沒有SERVER,可以將VIRTUAL HUB跟VIRTUAL NIC都架在我的WIN2000底下嗎?
3.第二點如果OK的話,我是不是該SETUP如下程式:
(A)架VIRTUAL SERVER
http://www.softether.com/jp/download/se_100_win32.zip
(B)架VIRTUAL NIC
http://www.softether.com/jp/download/SoftEtherBeta3.zip
4.公司裡架設VIRTUAL NIC同3.(B)?

謝謝!!!

A: 來來來,我們來回答問題:
1.目前公司跟家裡的TCP/IP都是設定自動取得IP ADDRESS,要如何另外設定增加SOFTETHER IP,會不會影響到各自原先實體連線的正常連線呢?

答案是不會。不過Softether的HUB必須是要實體網路可以連通的才行。所以我建議你去弄一個no-ip的免費網址

www.no-ip.com

幫家裡那台Windows 2000設定一個動態網址。(請注意,這台機器必須要有一個public IP或是透過Router轉址,後者的實作會有些麻煩。)

2.我家裡並沒有SERVER,可以將VIRTUAL HUB跟VIRTUAL NIC都架在我的WIN2000底下嗎?

我是Linux server偏執狂,這點我承認。以你的情況,其實我建議直接把Virtual Hub和Virtual NIC都安裝在Windows2000上面就可以了。

3.第二點如果OK的話,我是不是該SETUP如下程式? 答案是:

(A)架VIRTUAL SERVER
http://www.softether.com/jp/download/se_100_win32.zip
(B)架VIRTUAL NIC
http://www.softether.com/jp/download/SoftEtherBeta3.zip

沒錯!

4.公司裡架設VIRTUAL NIC同3.(B)?

沒錯!

Q: 感謝黃大哥的回覆!!!
看來我得再好好研究如何設定的問題了!!!
第三點我以執行了,目前狀態是"SoftEther Virtual Lan Connection已拔除網路電纜"55555....沒通!

可能是您提到的動態網址的問題...我還得去申請一個免費網址,又得支援動態IP的!!!
然後我在執行Softether Hub設定時感覺好像有些不知道該輸入什麼內容,大哥有空可以把Softether Hub的設定敘述的更detail嗎?

A: 你需要將NIC連上HUB才能夠解決這個問題。
我之前提到免費的網址可以在www.no-ip.com申請。超容易申請以及安裝的。

至於Softether HUB的設定啊... 這恐怕有點難為呢。我用的HUB是Linux版的。 XD

建議你有不解的問題可以看看

http://www.softether.com/jp/

上面一堆漢字,很容易猜啊。

Q: 黃大哥好!
成功一半了,不過家裡連公司的目的還是沒達成!!!

參考了這裡,有detail的設定內容說明:
http://forum.folkchen.com/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=688&forum=7&move=next&topic_time=1091461422



我試著把家裡的Notebook跟PC用HUB跟NIC串起來...連結都OK,也可以VNC連線!!!

很高興的跑到公司去架NIC....
可是連不上HUB,錯誤訊息如下:
Starting Connection home.
Failed to connect to HUB
Disconnecting home.

我試著改成proxy connection,一樣連不上:

Starting Connection: home.
Creating Proxy Tunnel...
61.230.166.175:7777
HTTP/1.0 403 Forbidden
Failed to connect to HUB
Disconnecting home.

我懷疑是公司的網管將7777 port鎖掉了...
不知道HUB有沒有辦法可以改成80 or 21的port...

我可以確定這兩個port公司有開啟!

哎呀,你的問題超級簡單的啦。沒有網管會關掉一個叫做443的port。這是SSL連線的HTTP。

HUB可以更改port number!我家裡的HUB就是利用了port 443作連線的。

加油,你快要成功了。一旦實體網路有任何一個port可以連通,你的softether LAN就快要完成了。

Q: 5555555555555555555.............

大哥...我快哭出來了....

通了.通了..通了...完全通了....

家裡公司可以雙向VNC了!!!

已經遠遠把公司的防火牆拋到火星去了...哇哈哈!!!

內心的悸動真的是文字無法比擬的...再三感謝黃大哥的這篇文章!!!


Q: 我的設定都ok了!
也可以連了~但網路連線內容中
只有傳送的封包,卻但沒有收到的封包
不曉得是那設定錯了呢?
TCP/IP我沒設~若要設要設成什麼呢?

A: 這個嘛... 照理來說,如果設定都OK的話,你應該可以Ping另外一台機器。先試試看如何?

Q: 如果說只有一台電腦想破解網管玩線上遊戲(原本不能玩)
是否需要再連另一台電腦的IP呢?
還是說一台電腦就可以用了呢?

A: 雖然你的問題是只有一台電腦想破解防火牆,不過你仍舊需要在外面的一台機器幫你做TCP/IP的bridge和Softether的HUB/NIC才行。

Q: 請問有 Linux 版的 source code 嗎?
A: 這個你要問登大游了。據我所知是沒有。

留言

  1. 我使用這softether出現失敗畫面,錯誤訊息裡有提到(failed to
    connect to hub),我想從宿舍連線到家裡,家裡分享器有對應到開hub的電腦
    ,對應port是7777,而我從宿網無法使用tcp/ip連到hub,要用proxy,
    出現那錯誤是因為宿網擋掉這port?我從圖書館(使用固定ip)連線可以正常進入

    回覆刪除
  2. 可否請教,我在fedora core3下列架設softEther,不過執行後出現下列訊息:

    LOG: SoftEther Virtual HUB Service Version 1.00 for UNIX System
    LOG: Copyright (c) 1997-2004 Daiyuu Nobori, All Rights Reserved.
    LOG: SoftEther Started.
    LOG: TCP/IP inited.
    LOG: Service Process Begin.
    LOG: SSL Library Inited.
    LOG: Protocol [Direct TCP/IP Connection] Init Succeed. Protocol ID: 0
    LOG: Protocol [Proxy Connection] Init Succeed. Protocol ID: 1
    LOG: Protocol [Proxy Connection] (1) Listen Failed. Port=443.

    連到其官網看,有提到這個錯誤訊息,大約用譯典通翻譯了一下,是指我的linux中,443port已被使用。請教該如何修改其port的設定呢? 官網上看了半天,快脫窗了還是看不出端倪。麻煩指導了!!

    回覆刪除
  3. 試試看把apache伺服器先暫時關掉,應該443就可以使用了。若是apache必須使用,那麼建議你另外挪出其他的port。

    回覆刪除
  4. 我想問一下,我執行到SoftEther Virtual HUB Services的再啟動 之後不是要開啟 SoftEther Connection Manager的設定 可是我一打開就要輸入密碼,然後我打進入,就出現了伺服器斷線,而且還出現除錯的畫面,這是什麼意思,請幫幫忙吧,我想到快瘋了..

    回覆刪除
  5. 就直接是SoftEther 這個東東,在toget下載的,之前有用過2.0的實驗測試版本,不過突然不能用了,我也不太知道是怎麼一回事,所以又去下載了一個,前面操作都可以,就是要登入就斷線訊息。麻煩囉,謝謝

    回覆刪除
  6. 可能是被擋住了吧... 換個port試試看。

    回覆刪除
  7. 同學:
    你是在什麼平台上面安裝Softether的?能不能再說清楚一點,這樣子我沒有辦法幫你耶。

    回覆刪除
  8. dear 大大

    我好不容易找到寫的這麼清楚的文章
    可惜下載的網址已經被移除了
    連到官網卻不知該下載哪個檔案
    http://www.softether.com/jp/download/
    我家是使用windows xp & office 2003
    公司是windows xp & office2000

    麻煩你給我下載網址吧~
    我會很感謝你的!!!
    嗚...我不能生活在孤島上 >

    回覆刪除
  9. dear 大大

    今天我同事給我了一個外國網站
    可以用web msn
    防火牆剛好沒有鎖到這個
    我超開心的~~耶~~我自由了^o^

    感謝你的回覆^^

    sincerely

    vannessa(可)

    回覆刪除
  10. Vannessa,

    很遺憾,Softether已經沒有免費下載版了。
    請去動物園找找吧。

    回覆刪除

張貼留言

這個網誌中的熱門文章

大車人生: Yamaha FZ6N更換TPS、火星塞以及引擎調校

[鳳梨外貿社] 1988 Austin Mini Automatic 奧斯丁 迷你上架銷售

PSA Citroen C5 Stereo Upgrade - from RD3 to RD45 (applied to Peugeot 307SW, Citroen XSara / C5 / C8, Berlingo)