无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 12735|回复: 11

[教程] Ryanboot小白云端系統—從內網的pxe走出公網來iPXE啟動

[复制链接]
发表于 2020-11-25 11:18:47 | 显示全部楼层 |阅读模式
本帖最后由 hkkitlee 于 2020-11-26 15:54 编辑

上一次內網pxe啟動的Linux教程已是一年多前:
[教程] 20190802更新:RyanTC—Tinycore16MB的微型移動Linux系統建pxe伺服器。合併到u盤啟動
如果內網啟動的pxe啟動原理不太清楚,還請回上帖回顧整理一下。因為「走出公網」的網絡基礎相對要再更加清晰,才能使公網啟動「接合」到原來的pxe伺服以節省系統資源。

又是個公開的投票,純粹分享而已。所以馬虎得幾個選項,也沒什麼限制。

說成走出公網啟動,不如說是「走回」去伺服下載檔案啟動。
2樓就是關於網絡方面細節。
3樓就是小白云端系統實踐的原理。

看完才投票

多选投票: ( 最多可选 4 项 ), 共有 17 人参与投票 查看投票参与人

投票已经结束

89.47% (17)
0.00% (0)
10.53% (2)
0.00% (0)
您所在的用户组没有投票权限
 楼主| 发表于 2020-11-25 11:24:14 | 显示全部楼层
本帖最后由 hkkitlee 于 2020-11-26 16:05 编辑

那也得有一些先決條件,要是你沒有的話,那就事倍工半,甚至乎直接失敗。
那就是你能控制的網絡最上層—{家/機房}的{路由器/光貓}的IP是否真IP了。

真假IP的分別
可能全球IP地址不夠,或是支付費用成本等問題(原因不在這裡探討)。
所謂公網的IP就是網絡的地址,那應該是唯一的。理論上由正向或反向{客戶/伺服}也是可以互相溝通的。

但如果為了以上或其他原因,使用其他技術以節省IP資源,例如:
在一個住宅小區裡使用NAT(Network address translate)再分發「內網」的IP地址給小區用戶,那只需要一個真IP,就可以為整個小區提供「上網」的服務了。
由於小區內假設多是家庭用戶,一般在小區的NAT下上網「沖浪」是完全沒問題;
但如果做個服務器的話,由於NAT會阻隔外來連線,導致客戶與伺服連線失敗

第二個舉例就是手機的sim卡,相信一講就明,一般不會用流動網絡來組建一個伺服器的網絡環境。所以一般網絡商所發給sim的都是假IP,除非你特別申請和設定。

你做的伺服器在你家的路由器/光貓後,你可以在路由設定「端口影射」使連線從外接通伺服器;但小區的NAT不是對外開放。正常情況下是不容修改的。

如何知道真假IP
只要能從公網連回去就行了,最簡單粗暴就是用手機信號連線回NAT內的伺服
或是從https://www.whatismyip.com/查詢,之後再核對自己的NAT的IP地址。一樣的話就是你得到一個公網IP了。

一般商業用的網絡連線是公網IP的。

網絡/協議/安全的規劃:
當你得到一個公網的IP,不管是浮動dhcp或是固定的static都可以申請個免費域名,沒有人蠢得去背IP地址吧。
https://www.noip.com/
https://www.pubyun.com/products/dyndns/
申請完,根據網站教學如何更新IP/Domain,可能需要等大約1至12小時才可以更新,這涉及到dns的運作步驟與原理。
並不是「即時」可以連線使用!!


協議是指客戶和伺服器之間的溝通方法,由於此伺服器已面向公網,擔起不同形式的安全風險作為系統管理員的你是責無旁貸的。
協議的安全性更是重要的考慮之一。簡單點就是加密了會增加竊聽難度。沒加密直接明碼傳送。
「沒加密」協議如:http,ftp,tftp,iscsi等。
「已加密」的:https,ftps等。
當然明碼傳輸並不是有問題的,一些Linux也是使用明碼傳輸kernel/initrd,因為busybox不一定帶有ssl。

除了協議的安全性,本身系統的安全性也需要留意。兩大操作系統Win/Linux的設定、及使用的軟件都不同。坦白說Win多年不用我已經脫節了。也不想刻意區分系統,所意這裡只帶出系統安全這一點。

那假IP有解決方法嗎?
可能有,但真的煩得很、很煩。還是需要一台帶公網IP的網絡/機器。假設你伺服在小區NAT下沒公網IP,使用VPN連接那台帶公網的網絡。再開啟「端口影射」。
既然都有公網IP的路由可以使用和影射,為何不直接加個機器...

也看見有人問過,iPXE加個vpn功能。我只可以說應該一般啟動檔工作在ring-1或0級別;跟vpn不是同一個級別的!
回复

使用道具 举报

 楼主| 发表于 2020-11-25 11:25:41 | 显示全部楼层
本帖最后由 hkkitlee 于 2020-11-26 18:54 编辑

回顧一下:http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=415206&pid=3818975

Pxe server啟動流程原理:
1網卡啟動pxe

2客戶機執行網卡內的pxe rom向dhcp server經udp port 67/4011發廣播請求3個東西[1自身ip][2bootserver ip(即為xinetd-tftp server ip地址)][3bootserver啟動文件的路徑與名稱]

3客戶網卡得到以上資料,從bootserver經udp port 69下載得到 ipxe引導檔

4ipxe在《客戶機》啟動後用https 向伺服器(httpd/nginx)請求下載操作系統檔並存到內存Ram中,下載完成後啟動

即客戶機網卡pxe ---(udp 67/4011)--->向dhcp伺服器(dnsmasq)發送請求,得到bootserver ip後,客戶機網卡的pxe經udp port 69向bootserver下載引導並執行—->ipxe啟動再向web server下載操作系統並啟動---(https<tcp>)--->OS



Ryanboot—小白雲端系統所使用的遠程啟動方法:
嚴格來說是有兩種方法。

  • 單一機器從u盤得到存放在伺服器的啟動檔地址,下載並完成啟動。
  • ValdikSS(如需要破解uefi安全啟動)
  • 讀取u盤上的grub.cfg,得到菜單及己編譯好的ipxe.lkrn /ipxe{32/64}.efi
  • 選取ipxe啟動並以https讀取伺服器檔案並處理。


  • 從u盤啟動個帶pxe腳本的微型linux,所以整個遠端網絡「臨時」多了個pxe伺服,直接可以網啟(非secureboot),免拔插u盤。
  • 以上1-3點是一樣,只是到第3點時選擇帶腳本啟動的Tinycore作為臨時的pxe。
  • 腳本啟動的工作:A.從伺服器下載ipxe啟動檔。B.執行所有有關proxydhcp的工作(((客戶機執行網卡內的pxe rom向dhcp server經udp port 67/4011發廣播請求3個東西[1自身ip][2bootserver ip(即為xinetd-tftp server ip地址)][3bootserver啟動文件的路徑與名稱]客戶網卡得到以上資料,從bootserver經udp port 69下載得到 ipxe引導檔)))
  • 由於編譯ipxe時已是以公網地址寫好菜單,所以這個臨時的pxe並不需要「本地」網頁伺服器供檔,而只需要連線回有「公網真IP」的網頁伺服器取相關檔案即可。

回复

使用道具 举报

发表于 2020-11-25 13:45:47 | 显示全部楼层
有兴趣!!!!
回复

使用道具 举报

发表于 2020-11-25 15:00:00 | 显示全部楼层
前来学习了
回复

使用道具 举报

发表于 2020-11-27 12:38:13 | 显示全部楼层
太高深了看不懂,从基础在哪里学呢
回复

使用道具 举报

发表于 2020-11-30 09:24:28 | 显示全部楼层
感谢!回头有空来看看!!!
回复

使用道具 举报

发表于 2020-12-4 12:54:20 | 显示全部楼层
很高深,也很感兴趣,但是小白呀看不懂

点评

要是真的看不明,具體說出來問題在那裏。 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=415494 http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=415206&pid=3818975  详情 回复 发表于 2020-12-4 13:36
回复

使用道具 举报

 楼主| 发表于 2020-12-4 13:36:00 | 显示全部楼层
mayi 发表于 2020-12-4 12:54
很高深,也很感兴趣,但是小白呀看不懂

要是真的看不明,具體說出來問題在那裏。

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=415494
http://bbs.wuyou.net/forum.php?m ... 206&pid=3818975
回复

使用道具 举报

发表于 2021-1-28 19:58:35 | 显示全部楼层
有个问题问一下:如果镜像档很大那不是需要很大的内存才可以吗?有没有和ISCSI一样,直接映射出盘,用到多少文件就读什么文件 不会整个档案下载完了才开始运行?ISCSI链接真的不能连外网的ISCSI服务端上的档案吗

点评

需自行查找所需核心等啟動需求。 何不直接使用iscsi? 不擔心安全問題,沒什麼是不可能。  详情 回复 发表于 2021-1-29 14:24
回复

使用道具 举报

 楼主| 发表于 2021-1-29 14:24:12 | 显示全部楼层
luy-wong 发表于 2021-1-28 19:58
有个问题问一下:如果镜像档很大那不是需要很大的内存才可以吗?有没有和ISCSI一样,直接映射出盘,用到多 ...

需自行查找所需核心等啟動需求。

何不直接使用iscsi?

不擔心安全問題,沒什麼是不可能。
回复

使用道具 举报

发表于 2021-6-17 16:28:13 | 显示全部楼层
路过,踩踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-28 21:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表