无忧启动论坛

标题: [史上最伟大网管]自主研发!支持HTTP,适应BIOS/UEFI环境! NBpxe网启服务器(0902开源) [打印本页]

作者: 江南一根葱    时间: 2025-8-14 14:03
标题: [史上最伟大网管]自主研发!支持HTTP,适应BIOS/UEFI环境! NBpxe网启服务器(0902开源)
本帖最后由 江南一根葱 于 2025-9-2 22:24 编辑

声明:我完全不懂python,我连python写"hello world"都不会
全由AI使用python语言编写,我是躺在AI的怀抱里进行开发!
项目已开源:https://github.com/zwj4031/NBpxeserver

NBpxeServer 功能简介与使用说明
功能简介
本工具是一款轻量级的PXE网络启动服务器,专为同时兼容传统BIOS和现代UEFI(特别是VMware环境)而设计。软件为绿色单文件,内置代理DHCP (Proxy DHCP) 和TFTP服务,无需复杂安装,可与您现有的路由器、交换机共存,帮助您快速部署网络启动环境。
使用与配置
您可以通过以下两种方式对服务器进行配置:
方法一:直接修改配置文件 (推荐)
这是最快捷的方式。在启动服务器前,请按以下步骤操作:
方法二:使用交互式菜单修改
如果您不确定如何修改配置文件,可以使用程序自带的菜单:
配置完成后,在主菜单选择 1 并按回车,即可根据最新配置启动所有服务。
直接把ipxefm目录里面的内容放入tftp_root目录即可使用

下载(支持win764位):

20250830更新
20250901更新
20250902更新

下载.png (26.42 KB, 下载次数: 102)

下载.png

作者: bnsgj    时间: 2025-8-14 14:12
这是要出力作的前奏啊!注意身体啊!
作者: 绿光科技    时间: 2025-8-14 14:27
楼主技术达人
作者: zxtbest    时间: 2025-8-14 14:40
感谢分享了
作者: 进士小站    时间: 2025-8-14 15:03
感谢分享原创优秀资源
作者: 小灰兔    时间: 2025-8-14 15:31
感谢分享了
作者: yazband    时间: 2025-8-14 16:10
网刻这类的东西 都快忘完了
作者: semiuel    时间: 2025-8-14 16:28
东西是好东西,奈何平时用不到。
作者: housecall    时间: 2025-8-14 16:42
感谢楼主的分享,超赞
作者: season111    时间: 2025-8-14 17:48
版主,版本高了win7用不了,能否分享下py文件感谢
作者: 江南一根葱    时间: 2025-8-14 17:54
season111 发表于 2025-8-14 17:48
版主,版本高了win7用不了,能否分享下py文件感谢

7用有啥提示没
作者: 江南一根葱    时间: 2025-8-14 18:13
season111 发表于 2025-8-14 17:48
版主,版本高了win7用不了,能否分享下py文件感谢

编译了个低版本的
作者: season111    时间: 2025-8-14 18:31
本帖最后由 season111 于 2025-8-14 18:56 编辑
江南一根葱 发表于 2025-8-14 17:54
7用有啥提示没

感谢分享,可以了,刚才80端口被iis占用了,共享B盘无法使用,找不到
作者: handsome_xiang    时间: 2025-8-14 18:49
感谢分享!
作者: 江南一根葱    时间: 2025-8-14 19:13
season111 发表于 2025-8-14 18:31
感谢分享,可以了,刚才80端口被iis占用了,共享B盘无法使用,找不到

B盘手工smb共享为pxe就行了
作者: wn168cn@163.com    时间: 2025-8-14 19:35
感谢楼主分享 !
作者: 2011yaya2007777    时间: 2025-8-14 20:17
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。
作者: 江南一根葱    时间: 2025-8-14 20:55
2011yaya2007777 发表于 2025-8-14 20:17
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。

有没有支持断点续传的软件,我可以让ai调试出来,貌似sanboot需要这个支持吧
作者: 江南一根葱    时间: 2025-8-14 21:04
2011yaya2007777 发表于 2025-8-14 20:17
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。

责令AI改了个怕点续传版本,试下看 NBpxeSer断点续传测试.part2.rar (1.52 MB, 下载次数: 15) NBpxeSer断点续传测试.part1.rar (3.81 MB, 下载次数: 14)


AI是这么说的

好的,遵照您的要求,我已经将 HTTP 服务器的逻辑修改为支持 Range 请求,从而实现断点续传功能。

核心改动如下:



作者: 2011yaya2007777    时间: 2025-8-14 21:41
不错,现在支持断点续传了!

不过,他不支持:
bytes=-8         #从末尾读8字节
返回错误代码400:BAD_REQUEST(错误的请求)

再训练一下。
作者: 江南一根葱    时间: 2025-8-14 21:50
本帖最后由 江南一根葱 于 2025-8-14 21:58 编辑
2011yaya2007777 发表于 2025-8-14 21:41
不错,现在支持断点续传了!

不过,他不支持:

NBpxeSer断点续传2.part2.rar (1.33 MB, 下载次数: 26) NBpxeSer断点续传2.part1.rar (4 MB, 下载次数: 28)


AI回复:

您提出了一个非常好的问题,并且观察得非常仔细!您是对的,我之前的实现只解析了 bytes=start-end 格式,没有处理 bytes=-suffix(即从文件末尾计算的范围)这种有效的 Range 请求格式,因此会导致服务器返回 400 Bad Request。

我已经修正了这个问题。新的 RangeRequestHandler 类现在可以正确解析并响应以下所有 Range 格式:

我对 do_GET 方法中的范围解析逻辑进行了重写,使其更加健壮和符合 RFC 7233 标准。其他所有功能(DHCP, TFTP, SMB, 菜单等)均保持原样。







作者: luodeman    时间: 2025-8-14 22:03
先生大才,感谢分享,辛苦了
作者: 2011yaya2007777    时间: 2025-8-14 22:33
你这效率太高了!我明天再测试吧。
作者: zp1688    时间: 2025-8-14 22:43
不错!
作者: yuguotqing    时间: 2025-8-14 23:06
赞 一只支持你!!
作者: AcidBurn    时间: 2025-8-15 04:55
谢谢楼主的分享!
作者: 2011yaya2007777    时间: 2025-8-15 07:08
HTTP已经完美支持断点续传!

反馈一个问题:
服务状态:TFTP 红 已停止
日志:TFTP:致命错误,无法绑定端口:[WinError 10048]  通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
但是实际上无论tftp/http都工作正常。这个tftp服务是哪里提供的?

如果点一下服务状态:TFTP 的红方框,变绿了,但是“已停止”仍然是红的。此时再执行HTTP传输,则失败。
作者: 江南一根葱    时间: 2025-8-15 08:58
2011yaya2007777 发表于 2025-8-15 07:08
HTTP已经完美支持断点续传!

反馈一个问题:

应该是启动了多个,我启动两个才遇到有这情况,或者默认有可能监听了0.0.0.0,那就冲突几率大,可能要改成实际ip
作者: wqsohu    时间: 2025-8-15 10:00
谢谢分享
作者: mygamexxx    时间: 2025-8-15 11:31
能否将TFTP与HTTP的根目录设置不在程序所在目录下,并且能使用磁盘根目录?
作者: yahu5    时间: 2025-8-15 11:38
AI让你搞正了
作者: 2011yaya2007777    时间: 2025-8-15 11:57
可以设置任意目录。c:\asd\zxc
作者: redapple    时间: 2025-8-15 12:23
用哪个AI这么强大?给个地址
作者: yidaifengniu    时间: 2025-8-15 12:35
感谢分享
作者: fegr    时间: 2025-8-15 14:02
谢谢楼主分享
作者: mygamexxx    时间: 2025-8-15 14:26
本帖最后由 mygamexxx 于 2025-8-15 14:34 编辑
2011yaya2007777 发表于 2025-8-15 11:57
可以设置任意目录。c:\asd\zxc

如何设置?
配置文件中好像没地方设置,将程序NBpxeServer.exe放在G:根目录
[FileServer]
shared_root_dir = G:
tftp_enabled = true
http_enabled = true
http_port = 80

wechat_2025-08-15_143225_372.png (13.37 KB, 下载次数: 68)

wechat_2025-08-15_143225_372.png

作者: 2011yaya2007777    时间: 2025-8-15 15:32
shared_root_dir = G:\
作者: mygamexxx    时间: 2025-8-15 16:19
本帖最后由 mygamexxx 于 2025-8-15 16:21 编辑

没有区别!并且NBpxeServer.exe必须在根目录,否则设置就会与显示不一致。
[FileServer]
shared_root_dir = G:\
tftp_enabled = true
http_enabled = true
http_port = 80

wechat_2025-08-15_161858_779.png (17.78 KB, 下载次数: 61)

wechat_2025-08-15_161858_779.png

作者: mygamexxx    时间: 2025-8-15 16:36
分配192.168.220.2,读取变成192.168.220.128?

wechat_2025-08-15_163511_627.png (25.04 KB, 下载次数: 67)

wechat_2025-08-15_163511_627.png

作者: 2011yaya2007777    时间: 2025-8-15 16:38
本帖最后由 2011yaya2007777 于 2025-8-15 16:47 编辑
没有区别!并且NBpxeServer.exe必须在根目录,否则设置就会与显示不一致

这是我的配置:
[General]
listen_ip = 192.168.182.1
server_ip = 192.168.182.1

[DHCP]
enabled = false
mode = proxy
pool_start = 192.168.56.2
pool_end = 192.168.56.254
subnet = 255.255.255.0
router = 192.168.1.1
dns = 192.168.1.1
lease_time = 86400

[FileServer]
shared_root_dir = C:\usr\TinyPXEServer\netboot\
tftp_enabled = true
http_enabled = true
http_port = 80

[BootFiles]
bios = grldr
uefi32 = ipxe32.efi
uefi64 = bootx64.efi
ipxe = ipxeboot.txt

[SMB]
enabled = false
share_name = pxe

我的NBpxeServer文件在:C:\usr\dist\
你是不是需要配置一下。选4,从文件重载配置。

作者: mygamexxx    时间: 2025-8-15 16:41
试了下BOOTG4E.EFI

wechat_2025-08-15_164027_464.png (13.9 KB, 下载次数: 72)

wechat_2025-08-15_164027_464.png

wechat_2025-08-15_164008_549.png (4.48 KB, 下载次数: 56)

wechat_2025-08-15_164008_549.png

wechat_2025-08-15_164000_278.png (4.81 KB, 下载次数: 58)

wechat_2025-08-15_164000_278.png

作者: mygamexxx    时间: 2025-8-15 16:48
配置文件修改如下,启用代理,客户机返回到BOOT MANAGER
[General]
listen_ip = 192.168.220.1
server_ip = 192.168.220.1

[DHCP]
enabled = false
mode = proxy
pool_start = 192.168.220.2
pool_end = 192.168.220.254
subnet = 255.255.255.0
router = 192.168.1.1
dns = 192.168.1.1
lease_time = 86400

[FileServer]
shared_root_dir = G:\
tftp_enabled = true
http_enabled = true
http_port = 80

[BootFiles]
bios = ipxe.bios
uefi32 = ipxe32.efi
uefi64 = BOOTG4E.EFI
ipxe = ipxeboot.txt

[SMB]
enabled = false
share_name = pxe


wechat_2025-08-15_164723_515.png (17.46 KB, 下载次数: 74)

wechat_2025-08-15_164723_515.png

作者: mygamexxx    时间: 2025-8-15 17:04
本帖最后由 mygamexxx 于 2025-8-15 17:07 编辑

重建配置,选择DHCP,
[General]
listen_ip = 192.168.220.1
server_ip = 192.168.220.1

[DHCP]
enabled = true
mode = dhcp
pool_start = 192.168.220.2
pool_end = 192.168.220.254
subnet = 255.255.255.0
router = 192.168.1.1
dns = 192.168.1.1
lease_time = 86400

[FileServer]
shared_root_dir = g:\
tftp_enabled = true
http_enabled = true
http_port = 80

[BootFiles]
bios = ipxe.bios
uefi32 = ipxe32.efi
uefi64 = bootg4e.efi
ipxe = ipxeboot.txt

[SMB]
enabled = false
share_name = pxe


日志如下
[2025-08-15 17:02:44] --- 正在根据当前配置启动所有服务 ---
[2025-08-15 17:02:44] SMB: 删除旧共享'pxe'时出错,可能不存在。
[2025-08-15 17:02:44] DHCP: 服务已在 192.168.220.1:67 启动 (dhcp 模式)
[2025-08-15 17:02:44] TFTP: 服务已在 192.168.220.1:69 启动, 根目录: 'G:\/'
[2025-08-15 17:02:44] HTTP: 服务已在 http://192.168.220.1:80/ 启动 (支持断点续传)
[2025-08-15 17:03:43] DHCP: 为 00:0c:29:52:ce:c8 (UEFI64) 提供 Offer -> 'bootg4e.efi'
[2025-08-15 17:03:47] DHCP: 为 00:0c:29:52:ce:c8 (UEFI64) 提供 Offer -> 'bootg4e.efi'
[2025-08-15 17:03:55] DHCP: 为 00:0c:29:52:ce:c8 (UEFI64) 分配 IP [192.168.220.2] -> 'bootg4e.efi'
[2025-08-15 17:03:55] TFTP: [GET] ('192.168.220.132', 1960) 开始读取 'bootg4e.efi'
[2025-08-15 17:03:55] TFTP: [GET] 选项协商失败 -> ('192.168.220.132', 1960)
[2025-08-15 17:03:55] TFTP: [GET] ('192.168.220.132', 1961) 开始读取 'bootg4e.efi'
[2025-08-15 17:03:57] TFTP: [GET] 'BOOTG4E.EFI' -> ('192.168.220.132', 1961) 传输完成。
[2025-08-15 17:04:34] --- 正在停止所有服务 ---
[2025-08-15 17:04:35] HTTP: 线程已停止。
[2025-08-15 17:04:35] DHCP: 线程已停止。
[2025-08-15 17:04:35] TFTP: 线程已停止.
[2025-08-15 17:04:35] SMB: 删除旧共享'pxe'时出错,可能不存在。





wechat_2025-08-15_170326_950.png (4.46 KB, 下载次数: 67)

wechat_2025-08-15_170326_950.png

wechat_2025-08-15_170253_176.png (13.61 KB, 下载次数: 63)

wechat_2025-08-15_170253_176.png

作者: 2011yaya2007777    时间: 2025-8-15 17:15
你已经成功网起,只是没有找到菜单。
在命令行执行:
root
pxe
作者: mygamexxx    时间: 2025-8-15 17:32
2011yaya2007777 发表于 2025-8-15 17:15
你已经成功网起,只是没有找到菜单。
在命令行执行:
root

如图

wechat_2025-08-15_173120_314.png (7.13 KB, 下载次数: 65)

wechat_2025-08-15_173120_314.png

作者: 2011yaya2007777    时间: 2025-8-15 17:46
在菜单里设置 set http
在 G:\ 建立 g:\efi\grub\   安放 menu.lst
在 G:\ 建立 g:\efi\grub\ext\   安放 ntboot
作者: mygamexxx    时间: 2025-8-15 18:22
本帖最后由 mygamexxx 于 2025-8-15 18:33 编辑

这几个原来就有,用其他服务器是成功的。应该是server ip,client ip 地址的问题。其他服务器一般是192.168.220.1,客户端为192.168.220.2或3。日志中地址里示前后不一致。dhcp与[GET]不一致。
作者: 江南一根葱    时间: 2025-8-15 18:58
mygamexxx 发表于 2025-8-15 18:22
这几个原来就有,用其他服务器是成功的。应该是server ip,client ip 地址的问题。其他服务器一般是192.168 ...

你这个是双dhcp的问题,你的环境必须要用proxydhcp,但可能g4e不支持proxydhcp,只有解决这个问题才能解决问题
作者: 江南一根葱    时间: 2025-8-15 19:00
2011yaya2007777 发表于 2025-8-15 17:46
在菜单里设置 set http
在 G:\ 建立 g:\efi\grub\   安放 menu.lst
在 G:\ 建立 g:\efi\grub\ext\   安放 ...

建议解决proxydhcp支持的问题
https://github.com/a1ive/grub2-filemanager
编译出来的efi文件是支持proxydhcp的
作者: 2011yaya2007777    时间: 2025-8-15 19:05
proxydhcp与dhcp有什么不同?系统里只留一个dhcp不好吗?g4e是静态绑定ip的。
作者: 2011yaya2007777    时间: 2025-8-15 19:24
我理解这是虚拟机或者实体机的UEFI固件提供的。
作者: 江南一根葱    时间: 2025-8-15 19:43
本帖最后由 江南一根葱 于 2025-8-15 19:44 编辑
2011yaya2007777 发表于 2025-8-15 19:05
proxydhcp与dhcp有什么不同?系统里只留一个dhcp不好吗?g4e是静态绑定ip的。

按ai的说法,proxydhcp提供dhcp服务但不分配ip地址,只给出next-server也就是tftp地址和启动文件ipxe可以识别出proxydhcp提供的ip地址,grubfm新版也可以识别,只要能识别,就可以从唯一的启动服务器(next-server)获取启动文件

作者: 江南一根葱    时间: 2025-8-15 20:07
2011yaya2007777 发表于 2025-8-15 19:05
proxydhcp与dhcp有什么不同?系统里只留一个dhcp不好吗?g4e是静态绑定ip的。

https://github.com/a1ive/grub/bl ... s/efi/efinet.c#L468

支持proxydhcp代码好像在这里,瞎猜的
作者: sxz7392    时间: 2025-8-16 13:29
谢谢分享
作者: blank_f    时间: 2025-8-16 17:17
谢谢分享
作者: lypopuser    时间: 2025-8-16 17:25
东西是好东西
作者: season111    时间: 2025-8-16 17:52
mygamexxx 发表于 2025-8-15 17:04
重建配置,选择DHCP,
[General]
listen_ip = 192.168.220.1

你这网关和DNS都和你配置的ip都不在一个网段,你都不看的吗?
作者: a20120227    时间: 2025-8-16 18:27
大佬能否做一个pe下通用的热备份pe的工具 主要是想用当前pe装好驱动 个性化设置好保存成镜像 下次直接使用 想把pe当日常办公使用
作者: a20120227    时间: 2025-8-16 18:29
a20120227 发表于 2025-8-16 18:27
大佬能否做一个pe下通用的热备份pe的工具 主要是想用当前pe装好驱动 个性化设置好保存成镜像 下次直接使用  ...

我有个老笔记本装常规系统太卡了 pe很流畅 请问pe能否启用睡眠关机的功能
作者: yinchilang1    时间: 2025-8-16 21:21

感谢分享了
作者: mygamexxx    时间: 2025-8-17 18:30
season111 发表于 2025-8-16 17:52
你这网关和DNS都和你配置的ip都不在一个网段,你都不看的吗?

那是重建配置过程,程序自动产生的,我没修改,因为修改过一次,没变化。
作者: 江南一根葱    时间: 2025-8-17 19:52
本帖最后由 江南一根葱 于 2025-8-17 20:42 编辑


作者: 江南一根葱    时间: 2025-8-17 20:01
mygamexxx 发表于 2025-8-15 11:31
能否将TFTP与HTTP的根目录设置不在程序所在目录下,并且能使用磁盘根目录?

现在可以分别设置了
作者: 江南一根葱    时间: 2025-8-17 22:03


作者: 蛋疼王子    时间: 2025-8-18 11:27
感谢大佬分享
作者: 江南一根葱    时间: 2025-8-18 13:01


作者: ckg56    时间: 2025-8-18 14:44
遥远又高级的新功能
作者: 57023626    时间: 2025-8-20 09:28
感谢感谢 下来试试
作者: 312571605    时间: 2025-8-21 22:29
搞个网启软件,是没头没尾,不清不楚,折腾人啊
作者: mygamexxx    时间: 2025-8-22 07:42
本帖最后由 mygamexxx 于 2025-8-22 07:43 编辑

[FileServer]
tftp_root = G:\
http_root = G:\
smb_root = tftp_root
tftp_enabled = true
http_enabled = true
http_port = 80
tftp_multithread = true
http_multithread = false



HTTP: 致命错误,无法启动: an integer is required (got type str)

提示这个错误,需要如何解决?
作者: 江南一根葱    时间: 2025-8-22 07:55
mygamexxx 发表于 2025-8-22 07:42
[FileServer]
tftp_root = G:\
http_root = G:\

关掉界面再打开
作者: mygamexxx    时间: 2025-8-22 08:29
本帖最后由 mygamexxx 于 2025-8-22 08:38 编辑
江南一根葱 发表于 2025-8-22 07:55
关掉界面再打开

使用代理,启动ipxe.efi好像也不行(HTTP连接不成功,使用了192.168.220.254)

wechat_2025-08-22_082616_738.png (21.09 KB, 下载次数: 53)

wechat_2025-08-22_082616_738.png

wechat_2025-08-22_083457_665.png (6.53 KB, 下载次数: 45)

wechat_2025-08-22_083457_665.png

作者: 江南一根葱    时间: 2025-8-22 11:53
本帖最后由 江南一根葱 于 2025-8-22 11:54 编辑
mygamexxx 发表于 2025-8-22 08:29
使用代理,启动ipxe.efi好像也不行(HTTP连接不成功,使用了192.168.220.254)

254如果是你网关的话,是你脚本写得不对

作者: mygamexxx    时间: 2025-8-22 13:04
江南一根葱 发表于 2025-8-22 11:53
254如果是你网关的话,是你脚本写得不对

正常应该是192.168.220.1
作者: 江南一根葱    时间: 2025-8-22 13:08
mygamexxx 发表于 2025-8-22 13:04
正常应该是192.168.220.1

所以是你脚本写得不对
作者: mygamexxx    时间: 2025-8-22 13:17
本帖最后由 mygamexxx 于 2025-8-22 13:22 编辑
江南一根葱 发表于 2025-8-22 13:08
所以是你脚本写得不对

使用haneWIN DHCP Server v3.1.27 + EasyWebServer v1.9测试是正常的。脚本如下:

#!ipxe
################系统设置开始####################
#设置分辨率图片                           
#isset ${x} || set x 800   
#isset ${y} || set y 600     
#isset ${bg} || set bg 800x600.png        
#isset ${ld} || set ld loading.png                              
#这句脚本是读取本地文件用,不用管
ifopen net0
#同上
ifstat
#这个我自己调试用的
set getfile /ipxeboot.txt
:boot
#找不到next-server变量就把dhcp-server的变量值给它
isset ${next-server} || set next-server ${dhcp-server}
#找不到proxydhcp/next-server变量就把proxydhcp/dhcp-server的变量值给它
isset ${proxydhcp/next-server} || set proxydhcp/next-server ${proxydhcp/dhcp-server}
#如果proxydhcp/next-server变量值存在,那么赋给booturl,不然就使用next-server的变量值
isset ${proxydhcp/next-server} && set booturl ${proxydhcp/next-server} || set booturl ${next-server}
#备用 prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell ||

#设置永久环境变量
#修改booturl的地址(默认是自动获取,要生效就去掉#号)
#set booturl 192.168.11.1:881/ipxefm
#没有设置iscsiurl就设置为booturl
isset ${iscsiurl} || set iscsiurl ${booturl}
#没有设置smbserver就设置为next-server
isset ${smburl} || set smburl ${next-server}
#set prefix /Boot/ipxefm
#set themes http://${booturl}/Boot/ipxefm/themes/jnygc
set quiet 1 #静默启动,1打开,注释掉不打开
#console --x ${x} -y ${y} ||
#console --picture ${themes}/${bg} --left 32 --right 32 --top 32 --bottom 48 ||
################系统设置结束##################
set s_boot http://${next-server}/boot
chain http://${next-server}/menu.ipxe || set s_boot tftp://${next-server}/boot
chain /menu.ipxe
pxe
e

wechat_2025-08-22_132141_458.png (2.27 KB, 下载次数: 53)

wechat_2025-08-22_132141_458.png

wechat_2025-08-22_132135_597.png (47.25 KB, 下载次数: 48)

wechat_2025-08-22_132135_597.png

作者: 江南一根葱    时间: 2025-8-22 13:22
本帖最后由 江南一根葱 于 2025-8-22 13:24 编辑
mygamexxx 发表于 2025-8-22 13:17
使用haneWIN DHCP Server v3.1.27 + EasyWebServer v1.9测试是正常的。脚本如下:

#!ipxe

你这都通过tftp取到文件了,就说明没问题,肯定是脚本问题
你直接用原版ipxefm测试
你上面的脚本,是我以前测试服务端linux环境网启时用的

作者: 江南一根葱    时间: 2025-8-22 13:41
本帖最后由 江南一根葱 于 2025-8-22 13:44 编辑
mygamexxx 发表于 2025-8-22 13:17
使用haneWIN DHCP Server v3.1.27 + EasyWebServer v1.9测试是正常的。脚本如下:

#!ipxe


就是这里写错了,${next-server}应该写成${booturl}
你别的dhcp能启,是因为你没用proxydhcp模式



next-server是主dhcp通告的,proxydhcp/next-server是代理dhcp通告的,这些数据引用不能弄错

作者: 超逸绝尘    时间: 2025-8-22 13:52
果然非常专业
作者: mygamexxx    时间: 2025-8-22 13:54
江南一根葱 发表于 2025-8-22 13:41
就是这里写错了,${next-server}应该写成${booturl}
你别的dhcp能启,是因为你没用proxydhcp模式

如果不使用代理,是否能成功?
作者: 江南一根葱    时间: 2025-8-22 14:17
mygamexxx 发表于 2025-8-22 13:54
如果不使用代理,是否能成功?

你局域网两个dhcp,你说能不能成功,客户机找哪个好?
作者: mygamexxx    时间: 2025-8-23 11:02
江南一根葱 发表于 2025-8-22 14:17
你局域网两个dhcp,你说能不能成功,客户机找哪个好?

还是想请教葱大,因为是VWmare虚拟机为客户机,网络使用NAT模式,应该只有主机与虚拟机。为什么会有俩个DHCP?
作者: mygamexxx    时间: 2025-8-23 11:06
江南一根葱 发表于 2025-8-22 14:17
你局域网两个dhcp,你说能不能成功,客户机找哪个好?

还是要请教一下葱大,客户机是VMware虚拟机,虚拟机网络使用NAT模式,应该只有主机与虚拟机。网段是192,物理主机网段是172,应该网段192只有主机与客户机。为什么会有两个DHCP?
作者: 江南一根葱    时间: 2025-8-23 12:18
mygamexxx 发表于 2025-8-23 11:06
还是要请教一下葱大,客户机是VMware虚拟机,虚拟机网络使用NAT模式,应该只有主机与虚拟机。网段是192, ...

nat模式,本身是虚拟机虚拟网卡提供类似路由器功能,虚拟机网卡接口会有个dhcp服务,虚拟机网络配置里可以看到dhcp分配地址池设置
作者: mygamexxx    时间: 2025-8-23 13:52
江南一根葱 发表于 2025-8-23 12:18
nat模式,本身是虚拟机虚拟网卡提供类似路由器功能,虚拟机网卡接口会有个dhcp服务,虚拟机网络配置里可 ...

因为TFTP与HTTP服务器一般设置为PXE服务器的DHCP,能否有开关可以忽略掉虚拟机网卡的DHCP。
作者: 江南一根葱    时间: 2025-8-23 15:54
mygamexxx 发表于 2025-8-23 13:52
因为TFTP与HTTP服务器一般设置为PXE服务器的DHCP,能否有开关可以忽略掉虚拟机网卡的DHCP。

这不现实,自己关下虚拟机的dhcp就行了
作者: mygamexxx    时间: 2025-8-23 16:40
江南一根葱 发表于 2025-8-23 15:54
这不现实,自己关下虚拟机的dhcp就行了

好的,谢谢
作者: 2011yaya2007777    时间: 2025-8-24 07:46
本帖最后由 2011yaya2007777 于 2025-8-24 09:05 编辑

昨天突然被Windows Defender删除了,说是有Trojan:Win32/Wacatac.B!ml病毒!以前一直相安无事。
设置白名单,重新下载后,运行有问题:
ProxyDHCP: 无法绑定 4011: [WinError 10049] 在其上下文中,该请求的地址无效。
DHCP: 致命错误,无法绑定端口: [WinError 10049] 在其上下文中,该请求的地址无效。
TFTP: 致命错误,无法绑定端口: [WinError 10049] 在其上下文中,该请求的地址无效。
HTTP: 致命错误,无法启动: [WinError 10049] 在其上下文中,该请求的地址无效。
HTTP: 线程已停止。


鬼抽筋,现在又正常了。Windows Defender提醒了一次,选择允许。记得以前添加过嘛。

“SMB: 删除旧共享'pxe'时出错,可能不存在。”
SMB已经禁止,就不需要执行删除功能了吧。



作者: hjdx001    时间: 2025-8-24 08:06
感谢分享
作者: 江南一根葱    时间: 2025-8-24 09:22
2011yaya2007777 发表于 2025-8-24 07:46
昨天突然被Windows Defender删除了,说是有Trojan:Win32/Wacatac.B!ml病毒!以前一直相安无事。
设置白名 ...

貌似有时候也要tinypxe那样ini删除大法
作者: 江南一根葱    时间: 2025-8-24 10:13
2011yaya2007777 发表于 2025-8-24 07:46
昨天突然被Windows Defender删除了,说是有Trojan:Win32/Wacatac.B!ml病毒!以前一直相安无事。
设置白名 ...

好像禁用后删除下也是必要的,如果是之前共享着,再删除下。。如果有同名共享,删除下。不过大多数情况下是有点重复
作者: 2011yaya2007777    时间: 2025-8-24 11:01
明白了
作者: 2011yaya2007777    时间: 2025-8-24 20:09
如果首先运行服务器,然后从VM虚拟机正常启动G4E,在菜单或者命令行执行 "pxe init",从而实现网起,这是不是你说的实现了proxydhcp?
作者: 江南一根葱    时间: 2025-8-24 20:55
2011yaya2007777 发表于 2025-8-24 20:09
如果首先运行服务器,然后从VM虚拟机正常启动G4E,在菜单或者命令行执行 "pxe init",从而实现网起,这是不 ...

proxydhcp模式下,如果启动grub2的话pxe init后输入set能看到tftpserver的ip,而且取菜单文件不是从原先的dhcp取就行了
作者: mygamexxx    时间: 2025-8-25 08:57
江南一根葱 发表于 2025-8-23 12:18
nat模式,本身是虚拟机虚拟网卡提供类似路由器功能,虚拟机网卡接口会有个dhcp服务,虚拟机网络配置里可 ...

停用NAT模式的DHCP,出错。

wechat_2025-08-25_085412_209.png (26.65 KB, 下载次数: 15)

wechat_2025-08-25_085412_209.png

wechat_2025-08-25_085513_646.png (16.72 KB, 下载次数: 13)

wechat_2025-08-25_085513_646.png

作者: mygamexxx    时间: 2025-8-25 09:42
没问题了,谢谢葱大。
set next-server ${booturl}
set s_boot http://${next-server}/boot
chain http://${next-server}/menu.ipxe || set s_boot tftp://${next-server}/boot
chain /menu.ipxe
pxe
e
作者: staf1235    时间: 2025-8-25 10:21
感谢分享。这个能避免驱动不识别的问题吗?用过iventoy和tiny pxe导入驱动都用不了,电脑不识别,还是卡在install driver to show hardware,但是在u盘放同样的驱动程序,马上就识别了
作者: 江南一根葱    时间: 2025-8-25 17:48
mygamexxx 发表于 2025-8-25 09:42
没问题了,谢谢葱大。
set next-server ${booturl}
set s_boot http://${next-server}/boot

你直接
chain http://${booturl}/menu.ipxe || chain tftp://${booturl}/menu.ipxe
不就行了吗


作者: mygamexxx    时间: 2025-8-26 10:27
本帖最后由 mygamexxx 于 2025-8-26 10:28 编辑
江南一根葱 发表于 2025-8-25 17:48
你直接
chain http://${booturl}/menu.ipxe || chain tftp://${booturl}/menu.ipxe
不就行了吗

下述脚本在DHCP和使用DHCP PROXY模式下均能正常Http启动,请葱大再指点一下,是否存在问题:

#判断是否存在DHCP代理
chain ${next-server}/menu.ipxe || set next-server ${proxydhcp/next-server}
#为menu.ipxe指定参数
set s_boot http://${next-server}/boot
chain http://${next-server}/menu.ipxe || set s_boot tftp://${next-server}/boot
chain /menu.ipxe
pxe
e
作者: 江南一根葱    时间: 2025-8-26 11:50
mygamexxx 发表于 2025-8-26 10:27
下述脚本在DHCP和使用DHCP PROXY模式下均能正常Http启动,请葱大再指点一下,是否存在问题:

#判断是 ...

非极端环境,脚本是不需要判断的,直接
/就行的




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3