[問答] 請問私網/公網的問題
大家好,第一次來到貴板發言,先拜個碼頭 <(_ _)>
這次來這裡,是想請問:
我知道 私網可以 ping 到公網,但是公網不可以 ping 私網
理由也很簡單:如果公網可以 ping 私網,那麼一個特定的私網 IP, 應該要 ping 誰?
私網是為了 IP 分享之類理由而生的
每個私網,都可能有同一個私網 IP
因此,這根本等同無法辨識
可是,我大可 ping 該私網的對外窗口;那個必是公網 IP
然後特定的 port 如果有打開,有設定
它就當然可以設為連入到特定私網 IP
事實上我也描述了如何在私網 IP 架設網頁的方法
但是我也只懂到這裡了
然後我要問的是:為什麼私網可以收 email?
以前我只想到向外 ping,公網 IP 有唯一性
但我卻隱隱覺得有個問題沒想通
那就是,位在公網的 mail server, 當然也得把封包丟回私網啊
怎麼這時就不說封包無法去私網呢?
或者,這時正是用了 ip forward 的技巧
mail server 其實是把封包丟給私網對外窗口,然後經特定 port 送給特定 IP?
果真如此的話,我是不是可以說:只要能收 email, 就可以架 web server?
我是不是可以說:
手機分享網路給筆電,筆電可以收 email,所以筆電也可以架 web server
如果不行,那麼上面幾句是為什麼錯了?從哪裡有誤解了?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.219.131.19 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Network/M.1588647766.A.AFE.html
→
05/05 11:50,
4年前
, 1F
05/05 11:50, 1F
是的,我也只會回這句話而已
我的問題是我不知道詳細
推
05/05 12:33,
4年前
, 2F
05/05 12:33, 2F
我知道,但是主被動不是問題
因為重點是的確有封包從公網往私網流動了,對不對?
既然有,那就代表這條路是通的,我要的也不過這樣而已
那我就可以參考這個網頁
https://blog.csdn.net/junmuzi/article/details/8446398
先由私網下指令去 ssh 公網,建立 ssh tunnel
之後公網反鑽這個 tunnel,就能見到私網了
所以我能說,所謂的收 email,這個動作其實就是有先建 tunnel 嗎?
不然為什麼我的 ip 是私網,mail server 卻能丟封包給我呢?
→
05/05 12:39,
4年前
, 3F
05/05 12:39, 3F
→
05/05 12:39,
4年前
, 4F
05/05 12:39, 4F
→
05/05 12:41,
4年前
, 5F
05/05 12:41, 5F
→
05/05 12:41,
4年前
, 6F
05/05 12:41, 6F
→
05/05 12:41,
4年前
, 7F
05/05 12:41, 7F
其實我沒法子完全描述我的問題,所以我才簡單說架網站
但是我將不會有什麼流量,那個網站只有我在用
所以效能不是我要考量的,我要考量的只有能不能的問題
→
05/05 12:42,
4年前
, 8F
05/05 12:42, 8F
我會架 sendmail 啊,這問題擴散了
我的問題只在公網為何可以丟封包回私網而已
→
05/05 12:42,
4年前
, 9F
05/05 12:42, 9F
→
05/05 15:19,
4年前
, 10F
05/05 15:19, 10F
→
05/05 15:19,
4年前
, 11F
05/05 15:19, 11F
對,我就是不知道這個,所以才問這問題
所以你要我先回想這個,我就卡死了
陷入了先有雞還先有蛋的問題
我無從回想
※ 編輯: HuangJC (49.219.131.19 臺灣), 05/05/2020 17:33:52
推
05/05 17:52,
4年前
, 12F
05/05 17:52, 12F
> 可是,我大可 ping 該私網的對外窗口;那個必是公網 IP
> 然後特定的 port 如果有打開,有設定
> 它就當然可以設為連入到特定私網 IP
這我前面打的,其實很多東西我是知道,但不完整,還有的是搞混
我有買一台無線 AP,如果我申請了固網
那麼躲在無線 AP 之後的私網就有這問題
不過我可以把私網 IP 轉到無線 AP 的 Wan 端,開 port
是了,這項功能位在 NAT 導向之下的 虛擬伺服器
我會用啊;是我懂得不夠完整
我也曾寫信給 TP-LINK,因為我買了他們的無線 AP,所以尋求技術支援
---------------------
我問
> 貴公司有一類 AP, 是可以插 SIM 卡的
> 這種產品是不是可以讓外網看到內網的網頁?
> (做好虛擬伺服器的設定即可?)
答
> 這個取決於插SIM卡的這個AP,從ISP端獲取的WAN IP是公網IP位置還是私網IP位置。
> 要是ISP能保證給這個AP分配一個公網IP位置,那麼做好虛擬伺服器的設定即可;
> 若WAN IP是私網IP位置,不僅需要在AP上做虛擬伺服器的設定,
> 還需要在ISP端給這個AP開啟相應的端口。ISP端開端口一般比較複雜,
> 很多ISP也不提供這樣的服務,所以購買SIM卡之前建議跟ISP確認清楚,
> SIM卡所在的AP獲取的IP位置是什麼類型的。
看到這我感覺懂了,想必我的 SIM 卡 IP 本身就是私網
所以設好穿越 SIM 卡的 NAT 轉發也沒用
直到收 mail 時才感覺不太對勁
天知道 mail 穿越幾層(至少也兩層)
電腦 -------> 裝SIM的無線AP --------> ISP 業者
私網 lan 端私網,wan 端私網 公網
在看 ssh tunnel 說明時,我的感覺和設定無線 AP 的虛擬伺服器一樣
或許 ssh tunnel 也是 NAT?(我就是不夠精確)
實際想測試時,遇到的障礙是 我不知道要把指令下到哪裡去
是不是只要我能 ssh 到你
我就可以開 ssh tunnel 給你?
如果是,那 SIM 卡 IP是私網也不打緊了
剛查了 wiki NAT
看到一段話
> 由路由器跟蹤每個連接上的基本資料,主要是目的位址和埠。
> 當有回覆返迴路由器時,它通過輸出階段記錄的連接跟蹤資料來決定
> 該轉發給內部網路的哪個主機
喔?這句似乎是答案
由私網到公網的路上,不見得只有穿越一層,也許是 N 層
(我就是在問,如果有 N 層,為什麼 email 封包穿越了,可見有自動設定這回事啊
我就是想要這個自動來替我開 ssh tunnel 啊;或者說不開,被限制
那就告訴我:問題在這裡,因為 email 是被允許的,但 ssh 不是被允許的)
我還是得成功的開個 ssh tunnel 感受一下問題出在哪裡
推
05/05 18:06,
4年前
, 13F
05/05 18:06, 13F
→
05/05 19:08,
4年前
, 14F
05/05 19:08, 14F
> 所以我能說,所謂的收 email,這個動作其實就是有先建 tunnel 嗎?
> 不然為什麼我的 ip 是私網,mail server 卻能丟封包給我呢?
這是我前面的問句,我並不確定 mail 是用了這個技術
但是, mail 歸 mail,我之後不送 mail
我之後自己想要 ssh
我公司會有公網 ip,我將可以 ssh 進公司
但我希望公司可以 ssh 我的電腦(雖然它位在私網,而且還不是固網)
目前看來似乎不是不可以
剛前面自問的,ssh tunnel 指令不知要下給誰
我要 ssh 進公司,當然 ssh tunnel 也就是下給公司
不管穿越幾層,只要沒設防火牆,應該都會開吧..
但目前公司那邊還沒架好,我無法想像
我正在想怎麼用 virtual box 之類模擬器弄個環境來測
→
05/05 19:08,
4年前
, 15F
05/05 19:08, 15F
→
05/05 19:08,
4年前
, 16F
05/05 19:08, 16F
→
05/05 19:09,
4年前
, 17F
05/05 19:09, 17F
→
05/05 19:09,
4年前
, 18F
05/05 19:09, 18F
固網就不會有這問題了
當我的無線 AP 外面是接固網時
我已經做到了分享網頁,根本不會問這問題了
那為什麼不去申請固網呢?
因為已經有了手機網路,手機分享給電腦
那當然就異想天開,想要由手機網路解決這件事
> 但是我將不會有什麼流量,那個網站只有我在用
因為我只是要 ssh 而已啊~
→
05/05 19:12,
4年前
, 19F
05/05 19:12, 19F
→
05/05 19:12,
4年前
, 20F
05/05 19:12, 20F
→
05/05 19:12,
4年前
, 21F
05/05 19:12, 21F
→
05/05 19:12,
4年前
, 22F
05/05 19:12, 22F
※ 編輯: HuangJC (49.219.131.19 臺灣), 05/05/2020 19:29:00
→
05/05 19:29,
4年前
, 23F
05/05 19:29, 23F
→
05/05 20:03,
4年前
, 24F
05/05 20:03, 24F
→
05/05 20:03,
4年前
, 25F
05/05 20:03, 25F
推
05/05 20:31,
4年前
, 26F
05/05 20:31, 26F
推
05/05 21:04,
4年前
, 27F
05/05 21:04, 27F
→
05/05 21:05,
4年前
, 28F
05/05 21:05, 28F
→
05/05 21:07,
4年前
, 29F
05/05 21:07, 29F
→
05/05 21:07,
4年前
, 30F
05/05 21:07, 30F
→
05/05 21:08,
4年前
, 31F
05/05 21:08, 31F
沒混為一談
我在家的電腦是 Mac,透過 usb 轉 RJ-45 連向樹莓派 RPi
Mac ssh RPi 或 RPi ssh Mac
這我都成功了
所以這都不是問題
我的問題真的就聚焦在 公網/私網/NAT 上
推
05/05 21:23,
4年前
, 32F
05/05 21:23, 32F
→
05/05 21:23,
4年前
, 33F
05/05 21:23, 33F
我意思是:這不是辦不到
這不自動,那就得下道指令
那我想學這道指令..
因為我以前也懂'公網不能看向私網'
但現在我更計較'公網的確有封包可以流向私網'
所以應該可以理解,我是在探討更深入的問題
如果有人回我'公網不能看向私網'
那我知道,他只想到我從前的程度而已
還沒有深入..
推
05/05 21:31,
4年前
, 34F
05/05 21:31, 34F
→
05/05 21:31,
4年前
, 35F
05/05 21:31, 35F
在任何時候,mail 主機是無法主動連到我的主機沒錯
但在我的主機發出要求之後,mail 主機就可以主動了
我在想的是,mail 主機發出的封包,是長怎樣的?
這個封包裡也要寫著它將往哪個 IP 去吧?
結果它寫著它要往私網 IP?那不是沒有辨識度?
那它寫著它要往公網 IP 的特定 Port?
那你還說這開 port 不是自動的?
我看是自動的,不過可能有限時
等 mail 封包收下來後就關閉了
如果是這樣,我也就不能像木馬屠城一樣順著殺進去了
→
05/05 21:33,
4年前
, 36F
05/05 21:33, 36F
推
05/05 21:36,
4年前
, 37F
05/05 21:36, 37F
→
05/05 21:37,
4年前
, 38F
05/05 21:37, 38F
有這機制夠我用了
舉例來說,客戶電腦位在私網
電話講解一堆叫他怎麼維護,他都聽不懂
我只想取得客戶電腦的 ssh 連線,以後控制權都交給我,我來維護
於是,我從公網要 ssh 客戶的私網
的確是不能連,那我要求客戶先由他的私網 ssh 我的公網
連是他連,問題是之後的指令他不會打
所以他連完,開完通道之後
接下來我就要用這個通道反向 ssh 客戶的私網
真的夠我用了
我不用主動,但我要取得控制權
→
05/05 21:39,
4年前
, 39F
05/05 21:39, 39F
→
05/05 21:40,
4年前
, 40F
05/05 21:40, 40F
→
05/05 21:40,
4年前
, 41F
05/05 21:40, 41F
推
05/05 21:42,
4年前
, 42F
05/05 21:42, 42F
→
05/05 21:43,
4年前
, 43F
05/05 21:43, 43F
→
05/05 21:43,
4年前
, 44F
05/05 21:43, 44F
推
05/05 21:48,
4年前
, 45F
05/05 21:48, 45F
→
05/05 21:48,
4年前
, 46F
05/05 21:48, 46F
TeamViewer 做得到,但我覺得還是要搞懂原理
這不是自己打造輪子的問題
而是穩定性的要求
TeamViewer 是在傳整個畫面
我不需要,我只要傳文字而已
當然我也有替代方案
比如把想做的指令存放在公網電腦上,存入一個檔案
私網的連上公網電腦後把檔案拷回去
私網一分鐘從公網抓一次檔案
那麼公網這邊就很像可以直連私網,只是卡卡的,一分鐘一次
不過如果有反向 tunnel 機制,何必這麼陽春呢?
推
05/05 21:55,
4年前
, 47F
05/05 21:55, 47F
→
05/05 21:56,
4年前
, 48F
05/05 21:56, 48F
那個私網 IP 根本沒有辨識度,整個 internet 不知道可以找到多少重覆的私網 IP
所以我可以想像的是,MAIL 封包上寫的方向,是寄往我私網 IP 的對外窗口
一個臨時開的 socket pair
→
05/05 22:02,
4年前
, 49F
05/05 22:02, 49F
→
05/05 22:02,
4年前
, 50F
05/05 22:02, 50F
→ tomsawyer: 參考案例就是nas的ddns或你提的teamviewer或logmein等 05/05 22:03
對對對,就是在談反打洞
DDNS 老闆也有提,可是我查下去它似乎是在解決變動 IP 的問題
比如我有一台電腦,每次重開機就更換一個 IP
即使這 IP 是公網的,問題是變來變去
於是我就申請 DDNS,每次變 IP 就往外更新一下
這樣就可以用不變的 name 來找到我這台公網電腦
這解決了變動 IP 的問題,我看不出它可以把私網 IP 問題解決掉
推
05/05 22:03,
4年前
, 51F
05/05 22:03, 51F
→
05/05 22:05,
4年前
, 52F
05/05 22:05, 52F
→
05/05 22:05,
4年前
, 53F
05/05 22:05, 53F
那就是了啊,這個 socket pair (參考這篇的回文,有提到了)是自動打開的,對吧..
我可以理解供 mail 用的就是 mail 用的
因為 port 不同,所以它不能供 http 用,不能供 ssh 用
但至少各位滿足了貓的好奇心,大感謝
老實說從前我也買過 O'REILLY 的書
買了 PPP,DNS & BIND, TCP/IP
應該是沒融會貫通吧,還來問這些問題
我是不是用 'email 如何運作' 這樣的關鍵字就可以找到答案啊?
(而且得翻成英文;英文比較好搜尋)
自己找不到答案很內疚,感謝各位的耐心
推
05/05 22:23,
4年前
, 54F
05/05 22:23, 54F
沒錯,就感覺而已
實際去查就受挫了;沒找到
→
05/05 22:23,
4年前
, 55F
05/05 22:23, 55F
推
05/05 22:26,
4年前
, 56F
05/05 22:26, 56F
> 還有阿連出port跟連入port也要分開呀。不是你連到80port
> 你自己這邊的port就是80。
還是得確認一下你的意思
私網電腦 <--> AP <--> 公網
http server 帶 NAT 功能
https://imgur.com/AVjVni9
在筆電上架網站,我已經架過了
而我的 AP,它本身自帶 NAT 功能,否則我也無法把它公開
就以上面附照而言,我也不是不知道兩個 port 可以不一樣
不過我的確不知道一件事:
email 收信的要求,是由私網往公網送
而 email 內容封包,是由公網往私網送
就是會用同一個 socket pair 嗎?
你的意思是發出去用一個 port, 收回來有可能用另一個 port 嗎?
如果是,那要自動開的 port 可多了
如果不是,那還好嘛..
至於中間途經十台電腦,反向時未必是同樣十台
這我反而好理解;因為網路本來就不穩定,隨時可以斷線
所有封包只要有最後目的就好了,就在可能路徑中流竄啊
只要還沒有 timeout,短路在一起的設備就是會有相同訊號
其它就是什麼訊號碰撞檢出協定,滑動窗協定...
那些我以前反而有看懂 (剛說了,有看但不夠精確)
我等下要去查 tcp/ip socket
搞不好這就是 socket 的概念
> 主被動真的就是問題不要當作不重要的
抱歉,是用字習慣的問題
我知道它很重要
所謂不重要是指'有法子解決'
能解決就不叫做問題,所以才說不重要
但它的確是我這個問題的關鍵,所以也可以說重要
這不是需要在這裡打轉的
需要的是:重要,那怎麼下指令?
或者答案是:不可能,你做不到的,收 mail 是有魔法的,但你沒有魔法
OK,那我也只好接受這個答案 XDDDD
※ 編輯: HuangJC (49.219.131.19 臺灣), 05/05/2020 23:56:29
推
05/06 00:30,
4年前
, 57F
05/06 00:30, 57F
→
05/06 00:31,
4年前
, 58F
05/06 00:31, 58F
→
05/06 00:33,
4年前
, 59F
05/06 00:33, 59F
→
05/06 00:34,
4年前
, 60F
05/06 00:34, 60F
→
05/06 00:35,
4年前
, 61F
05/06 00:35, 61F
→
05/06 00:36,
4年前
, 62F
05/06 00:36, 62F
→
05/06 00:37,
4年前
, 63F
05/06 00:37, 63F
→
05/06 00:37,
4年前
, 64F
05/06 00:37, 64F
→
05/06 00:39,
4年前
, 65F
05/06 00:39, 65F
→
05/06 00:40,
4年前
, 66F
05/06 00:40, 66F
→
05/06 00:41,
4年前
, 67F
05/06 00:41, 67F
→
05/06 00:42,
4年前
, 68F
05/06 00:42, 68F
→
05/06 11:19,
4年前
, 69F
05/06 11:19, 69F
→
05/06 11:19,
4年前
, 70F
05/06 11:19, 70F
→
05/06 11:19,
4年前
, 71F
05/06 11:19, 71F
→
05/06 11:19,
4年前
, 72F
05/06 11:19, 72F
→
05/06 11:24,
4年前
, 73F
05/06 11:24, 73F
→
05/06 11:24,
4年前
, 74F
05/06 11:24, 74F
→
05/07 11:21,
4年前
, 75F
05/07 11:21, 75F
推
05/12 02:03,
4年前
, 76F
05/12 02:03, 76F
推
05/13 03:46,
4年前
, 77F
05/13 03:46, 77F
→
05/13 03:46,
4年前
, 78F
05/13 03:46, 78F
謝謝,有空試
但我試過 team viewer 不行
解釋一下不行的問題
如果是我私人架的樹莓派,那是可以的
但想拿出去賣的樹莓派就不可以
原因是我們有很多廠商端不想開放的東西
舉例來說,我之前曾有一份工作,賣一套六百萬
其中有一套 CNC 車床,以及一台電腦
但是電腦拔軟碟,封 USB 槽,沒網路
為什麼?
因為一台六百萬這麼貴,VGA,RAM,CPU 都配備上等
我們不能容忍客戶請了個會摸魚的員工在上面偷裝奇怪的軟體或上班打電動
什麼都不許你裝,但我們也承諾全權負責;電腦燒幾台我們就會換幾台
這叫商品,我們不給你完全的控制能力
我們只承諾到合約上的範圍
同理,樹莓派灌好我們的軟體賣出,是只做合約裡的事
我們不給客戶 root 權限,不給他們灌軟體 XD
什麼都不許做;我們是把電腦當工具沒錯
但客戶不可以碰觸到電腦的內部
(cp, rm, ls 喔喔,這些簡單指令都不許跑啦;開機就是跑我們的軟體
軟體不許結束退出,要嘛你就關機)
我不曉得是否只是我不會操作
不過 teamviewer 我是跑不動了
哪天有空我再試試
---------
我連入樹莓派是用 vnc
開機只跑我們程式,方法是建立 .xsession 檔,裡面填入要執行的檔名
這東西我也查了很久
或許在 .xsession 檔裡填 teamviewer 再填我們程式就搞定了
不過呢,teamviewer 要錢,所以我自己可以做到的事我就不這麼做了
※ 編輯: HuangJC (49.216.170.239 臺灣), 05/15/2020 05:03:44
討論串 (同標題文章)
Network 近期熱門文章
PTT數位生活區 即時熱門文章