Re: [問答] 請問私網/公網的問題

看板Network作者 (吹笛牧童)時間4年前 (2020/05/07 02:51), 4年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/11 (看更多)
謝謝,真的很有細節! 獨學不能無友 書我都不知道看幾次了,但始終看不通 最後的結果是書都快被我當國文課本背起來了 但還是不懂 XDDDD (不知有沒有人懂這種無奈) ※ 引述《blackbox (黑盒子)》之銘言: : : 比如這個例子,指令在 Mac 上面下 : : 是不是說,封包進來後是由 Mac 充當 NAT? : ssh指令是在MAC這台機器下的沒錯,應該形容成Port Forwarding比較接近 : IP分享器建立個PORT FWD,就是把WAN IP的一個PORT對應到LAN的某個地方 : 我們在遠端的RPI開了Port FWD功能,但是這FWD卻是由MAC去處理 : 1.1.1.1:2345 <=> 10.1.1.11:xxxxx <=> 10.1.1.12:1234 ^^^ 就這個,內網往外網我不懷疑其能力 但外網往內網有問題,所以我想 NAT 這時也還是有在做轉發 但這次是自動設的,和我要去 AP 的 NAT 功能表手動設不同 其實要講解這細節,就連 NAT 都得給一個 IP 來講了 而我一直很搞不懂的是,NAT 是有一個 IP,還是兩個 IP? 似乎是兩個,一個公網對外,一個私網對內, NAT 就是電子交換機,將這兩個直接短路起來 私網對內那個似乎和我們其他私網電腦是同一個網段的,所以才符合 netmask 的規則 也才有法子填 gateway 這個欄位 (這帶出另一個問題,現在的 NAT 都一插上就能用,不用自己設 route 我以前是 modem 工程師,廠商有時送來的機器不會自己產生 route,我要先設才能用 N 年前的產品比現在陽春吧! 可是我都不知道要怎樣設,我不知道 gateway 是多少,怎麼查 gateway 有一定的規則嗎?比如 netmask 所規範範圍內,所有可變 bit 都設 0? 可變都設 1 是廣播位址嘛;因為我常看 default gateway 是設往 0,0,0,0 也或者其實要看硬體設定,廠商應該提供給我但沒提供) : 對遠端的客戶而言,他是連到RPI,他不認識MAC跟SRV : 對SRV而言,是MAC連到他,他不認識客戶跟RPI : : 也就是說,我學過把 AP 設成 NAT : : 而 ssh tunnal, 就是由下指令的那台電腦充當 NAT? : : 至於 cgnet 會有什麼問題,我還不懂 : : 畢竟 email 的 request 已經突破層層內網穿出去了 : : 而 mail server 的回傳資料也突破層層內網穿回來了 : 層層穿"出去"的request就是我說的主動連接 : IP分享器可以在WAN IP做NAT功能對LAN提供服務。假設WAN IP: 2.2.2.2 就這個,不把 IP 分享器也給一個 IP,根本講解不清這段 但我覺得有兩個 ip,私網 IP 就是 gateway : 當你用10.1.1.11連1.1.1.1:22時,他會建立紀錄: : 1.1.1.1:22 <=> 2.2.2.2:xxxxx <=> 10.1.1.11:34567 是,我印象中讀過一句話:每個服務都要開 port 而 NAT 被不定數量的私網 IP 動態連上時,也會動態開 port 有還沒用的就開~ : (:xxxxx表示任意Port,下同) : 對1.1.1.1而言是2.2.2.2去連接他,他不認識10.1.1.11 : 層層穿"進來"的NAT就沒有對應表了 : 今天你的IP分享器不會知道你在10.1.1.12:1234開了服務 : 所以除非你在Port Forwarding下手動設定 2.2.2.2:3456 <=> 10.1.1.12:1234 : 分享器不會也不應該主動讓2.2.2.2:xxxxx對應到10.1.1.12:1234 : (不談DMZ, UPNP, Port Trigger啥的) 好吧,先不談 Port Trigger 我有去信問 tp-link, 他們回信後我還是不懂 我認為是我沒用到,所以不懂;那先別勉強學 : 而這時外面的客戶端要連線的是2.2.2.2:3456而不是10.1.1.12:1234 : CGNAT的問題是你的WAN IP不是公網IP : ISP發給你的是100.64.1.2這種類似私網的IP,對外變成ISP的3.3.3.3 : 一樣的連接變成 : 1.1.1.1:22 <=> 3.3.3.3:xxxxx <=> 100.64.1.2:xxxxx <=> 10.1.1.11:xxxxx : 對於公網上的機器,只知道3.3.3.3,不知道後面的100跟10這段 : 此時你的Port fwd只能開在100.64.1.2,外面的人看不到的 : : 可以想見的是,如果我要留著一個 ssh 通道做我想做的事 : : 那便是一種資源佔用,所以會被設限? : 手機要掛著登入遠端的SSH以便開啟通道,少了一個手機,好麻煩 : 除了所有封包都要經過手機外,大致上沒有其他問題 這不是麻煩 XD 我老闆丟給我一個使用情境 他說:牽一個固網很貴,客戶捨不得牽給 RPI (我們 RPI 是用來做自動控制的微電腦,在工廠裡控制機台的) 平時 RPI 都獨立運作 但偶爾還是會想上網,這時客戶會拿著手機接近 RPI 可不可以設成臨時連上手機並且馬上上網 我答:可 他又問:那這時可不可由外界控制 RPI 我當場就想把客戶幹到外翻了 XD 好好牽個固網是會死嗎?是有多貴.. 牽個固網,你去美國都可以搖控你心愛的工廠 然後老闆就說:可是人家物聯網都可以,都是內網,一樣可以控制工廠的燈泡 應該可以把燈泡註冊到雲端,以後就可以控制 那時我就很想不通 以註冊來說是可以分辨出這顆燈泡沒錯 但以 IP 來說,內網 IP 沒什麼好註冊的,沒分辨力 如果牽固網,我就會在 IP 分享器上面設好固定式 NAT 大方的說當然連得進來 但如果是手機網路,我突然想到,要在手機上設 NAT?手機根本沒這欄位! 這樣知道我為什麼開始思考這些機車問題了吧.. 那就去用人家的服務啊! 這句回答等於是:我回家吃自己,你找那家替你做去 老闆就是要我做 他就是說:team viewer 那種 server,我們自己架一個,程式自己寫 所以我才評估這些 其實不是一定要做 而是只要可以評估出來,很難,很貴,別人不可能做出來,那也可以不做 XD 但我天天最不爽聽到的就是:別家那個誰誰誰做出來了耶,他為什麼可以 靠北咧,別人可以! 所以我才得研究一下 最近我有新的藉口了:team viewer 可以沒錯,但試用期過後就要錢了,要代價啦 (要錢他就不會逼我做了 XDDDD) 好啦,現在我終於搞懂了 只要你捨得手機丟在那邊 那你手機丟著的期間,我也承諾你做得到 至於未來老闆會想通,改去逼客戶一定要牽固網 那是未來的事了,至少現階段我不輸別人 :P : : 所以跨過手機的 ssh 通道將會無法服務嗎? : : 內網 ssh 外網應該是沒問題 : : 但 ssh tunnel 讓外網反鑽回內網,會有問題嗎? : 有可能造成資安問題,但是技術問題應該沒有 : 你讓一個本來被關在內網的服務可以被其他人使用 我也覺得資安有問題,一直在想有沒有地方可以上課 有些錢是得花的,坐著聽兩小時會懂,就去聽.. 在 PTT 問免錢的有時會被酸 在這板到現在還沒被酸是太好運了 (至於上了課還不懂,就好像巨匠那種水準,那也不行 所以有時為了五斗米還是得來挨罵 我挨的很多罵都是主管要求做的,主管都覺得可以,然後我就來問,來挨罵 主管自己也不會 XD) : : 我昨天做了兩個設定,一個是 A 往 B 連,一個是 B 往 A 連 : : 如果沒有方向性,都是短路在一起的概念 : : 則效果應該一樣 : : 但效果就是不一樣 : socket是雙向的,我們在處理的是建立之前的步驟 等等來修文附上我的案例,因為都看你的數字,我已經眼花了 必需實體化一下 ------------------- 有了,我們用 shell 的變數功能 我都這樣做的,因為我背不起 IP RPi='169.254.161.158' echo $RPi 169.254.161.158 其實像這樣,所以根本不用直接給 IP 現在我有一台 Mac, IP 是 $MAC 有一台 RPi, IP 是 $RPi 在開發 RPi 時,我是用 VNC 的 開 port 是 5900 所以,在 Mac 上以 VNC Viewer 連向 $RPi 就可以看到 RPi 然後我下 ssh tunnel 指令 ssh -R 5901:localhost:5900 myname@$MAC 下在 RPi,打完 MAC 上的密碼後,shell 提示號會顯示我登入 MAC 了 然後這時我在 MAC 上,用 VNC Viewer 連向 localhost 的 port 5901,就可以看到 RPi 這邊是懂的 而我的理解是 RPi:5900 和 Mac:5901 短路在一起 去看 RPi:5900 就和去看 Mac:5901 一模一樣 看來一定有細節不一樣,因為若說短路,沒有方向性,那反過來設卻不會動 在 MAC 上面下 ssh -R 5900:localhost:5901 pi@$RPi 然後在 MAC 用 VNC Viewer 看向 localhost 的 port 5901,沒用,不能看 那請問這個方向性是怎麼造成的,細微差異在哪? 喔,這時若丟訊息進入 RPi 的 5900,就會由 MAC 的 5901 接收, 看有沒有什麼服務在監聽 5901 就會動作 但反之丟訊息進入 MAC 的 5901,不會主動跑向 RPi 的 5900? (我以為是雙向啊~ 不是蟲洞嗎? XD) (咦,我來鑽第三層看看,鑽過去再鑽回來) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.219.131.19 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Network/M.1588791084.A.7AE.html ※ 編輯: HuangJC (49.219.131.19 臺灣), 05/07/2020 02:53:23 ※ 編輯: HuangJC (49.219.131.19 臺灣), 05/07/2020 03:00:00 ※ 編輯: HuangJC (49.219.131.19 臺灣), 05/07/2020 03:17:56
文章代碼(AID): #1UimSiUk (Network)
討論串 (同標題文章)
文章代碼(AID): #1UimSiUk (Network)