On Tue, Apr 26, 2016 at 4:45 AM, deepfreeze <zuli...@163.com> wrote: > hi, > ipxe > I have a trouble > in the ipxe script , I would get a val is the fourth segment value of ip > address, when dhcp , the client ip is 192.168.1.88, can I get the "88" to > set the hostname val is "pc-88"? > > 你好, > 原谅我的蹩脚英文. > 我想问的是如何在ipxe 的脚本文件中, 动态得到ip地址段的最后一节数值赋值给工作端hostname变量, 比如 192.168.1.88 > ,最终hostname 是 pc-88 192.168.1.89 ,最终hostname 是 pc-89. > >
Hi, There is no client side functions to cut variables in ipxe script. The most commonly used method is to send ip to a server side script that then returns a script that does the work. Here is a quickly hacked example: (with no concideration to ipv6 or security) getiphostname.php: <?php $ip = $_GET["ip"]; header("Content-Type: text/plain"); echo "#!ipxe\n"; echo "set hostname pc-".substr($ip, strrpos($ip, ".") + 1)."\n"; ?> call this with: chain http://server/path/getiphostname.php?ip=${ip} and hostname will be set to pc-(last octet of ipv4) An alternative to this if you are using dhcp, is to have the dhcp server define and send hostname if ipxe is the dhcp client. /Christian _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel