找回密码
 注册
关于网站域名变更的通知
查看: 183|回复: 1
打印 上一主题 下一主题

PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-9 14:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

$ ^9 P# v9 P+ k; q) U& c目录  p5 |# ]8 x+ O+ t/ @9 H
1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)4 F2 E$ C# {/ n% J0 g, y# Q
1.1. 需要的软件
# A9 X. `; O' v& ]1.2. 启动 proxy dhcp 服务
! C5 B  E; ?  H( W5 r% K" R1.3. 关键的几个配置文件' z0 `% h0 K9 c6 k" A
+ j6 {- i) j- |
PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)( j. w% \! I7 U2 p4 T% ~
关于 PXE 自动安装物理机的方案, 网上有很多, 但是几乎都是通过配置 DHCP 服务器, 使得待安装的机器能够找到 tftp 提供的安装源.+ a3 S/ i- L4 k+ M: z
我目前的环境中, DHCP 是由路由器提供的, 也就不能像网上的教程那样通过 DHCP 服务来配置 tftp 的信息了.! X+ N' h4 }! Y/ W; v) l8 ]# D

% r! q8 c* V/ Z+ Z  `! M! E+ e下面重点记录如何不改变现有的 DHCP 服务, 而是通过 proxy-dhcp 来实现的.
4 a1 T" a: C+ C3 Y实验的系统是 CentOS6.6 x86_64
( j- w7 F  s5 |5 M% J- H
1 ]1 I2 ^+ F/ N5 u2 T需要的软件" x9 Z1 l- Y9 ]! j+ ?
需要的软件和网上大部分是一样的, (只是不需要 dhcp 服务相关package, 多了一个 proxy-dhcp 的安装)
1 k5 c6 p- s) T9 o- t4 |
  b3 O7 n: m. I+ w
  • nfs 服务相关 package
  • tftp 服务相关 package
  • proxy-dhcp: k; m) O$ K$ c' P" F/ s7 H
2 n% _' u- y: l" T
nfs 和 tftp 的安装通过 apt-get 或者 rpm 都行, 这里就不详细介绍了.# w' e3 J$ N3 `6 D
主要介绍下 proxy-dhcp 的安装5 I) L5 G+ [, v: L4 @

, s7 y& e  o- T9 Q" s0 Fsvn co http://svn.coderepos.org/share/lang/c/pxe-pdhcp
9 w% _" l# r' S7 b* u4 \: Jcd pxe-pdhcp
. F; N* N* ~( t9 d2 Xmake
# l& m8 A: \3 q1 [. G" ~- I9 s1 O" T
如果 make 的时候出现数组越界的错误的话, 在出错的位置修改 (大概在 pxe-pdhcp.c 的 330行): d' b; w* R  ^. g2 h

( U  W  p6 b+ iifr.ifr_name[IFNAMSIZ] = '\0';/ d3 h* D6 w1 L3 i: I
修改为:
/ G  X" `% u/ L$ yifr.ifr_name[IFNAMSIZ-1] = '\0';! u! n% |6 n( X6 \, E

- T3 n# e3 U1 ]) b- E启动 proxy dhcp 服务
5 Q) H5 i. {# O! u& Z. o2 C9 ]& H3 H1 e/ t$ u/ l
make之后, 生成了 pxe-pdhcp 可执行文件.# j8 ~& `+ t0 B/ b2 ]9 S

6 R. V1 b  ~  _7 e) U0 ypxe-pdhcp -l 0.0.0.0 -b 255.255.255.0 -t 192.168.1.2 -d pxelinux.0
% g5 ~7 V! c' ^" A
- c* [: b9 n, A其中 -t 选项是 tftp服务器的IP
) m+ b7 w4 x8 q% g# D. j, ^& _0 `% b: |9 c* Q% T5 I( N& g* M
nfs 服务和 tftp 服务的配置网上很多, 这里就不详细介绍了.* B0 D: n. t: b- b4 q) a8 n+ H

! |' X+ X4 U% k+ }关键的几个配置文件$ M" r! @8 S' l( z) E& O: h
2 S- h- C1 Z! {* L/ `0 \8 Z
  • tftp 服务默认是 disable的, 要修改.
    7 L/ ^8 G; M6 l+ ~- L

  K: Y/ m4 n! A+ qcat /etc/xinetd.d/tftp
0 ^. m4 Z( m# lservice tftp
4 S1 I" y( s/ T) G1 G5 |. [{
! f& c4 Y4 I/ D6 z2 G, tsocket_type = dgram' q0 w# ~2 y4 Q, @6 Z' L. s% V
protocol = udp
) f* p+ _' J0 }3 }7 B. m0 uwait = yes
+ g9 N1 }# T: F4 ~" _; [  Ruser = root4 W) Y7 A# i+ G' `+ q
server = /usr/sbin/in.tftpd. ?. [2 `% S" V3 F4 i
server_args = -s /var/lib/tftpboot
3 l) V% G6 E9 \7 D) [disable = no # <== 这里改成 no, 原先是 yes
8 b" o; s5 C- V/ |9 rper_source = 11) V! T5 w. g) M
cps = 100 2' E6 t  H9 G  v3 J; J0 `
flags = IPv4, s: d0 J; q1 `3 A$ f& o
}
: P& |' z2 s1 {, R. s- I
+ n" _7 \  T9 M9 n6 b5 o( }   2. tftp 中 pxe 的配置文件. @8 F0 u6 P8 g
9 j+ V4 Q$ G3 s2 l
没用 kickstart 方式, 引导成功后需要手动安装.
, i7 Y: }& f! H6 p# [) O8 N$ o4 Z5 l( F1 e: F
cat /var/lib/tftpboot/pxelinux.cfg/default. v0 m! Q' P5 V) q1 t+ c9 V2 B
DEFAULT menu.c32+ ^, _+ F: {. d# G0 K
TIMEOUT 100
) t6 |7 ^- ?$ r! W! I; y5 p" N1 j: k0 i
LABEL centos6
# q) F5 d1 c$ [! L# V0 fKERNEL centos6/vmlinuz
5 D: L7 i- Z- M/ l3 E: |+ n; SAPPEND initrd=centos6/initrd.img nfsroot=nfs:10.0.1.1:/srv/centos6 ip=dhcp console=tty0! V5 m$ Q( S1 @& i" @6 s

) Z8 a- `4 H% _) b  b+ y8 D用 kickstart 方式的话, 只要将其中的
0 S* Q- ?) D2 o, [! ?* M/ q1 n. A
. k" d3 Q% ]% B3 C* Unfsroot=nfs:10.0.1.1:/srv/centos6
1 Z% `9 y6 z5 n6 R改成
8 ]3 R; \8 U5 ^ks=nfs:10.0.1.1:/srv/centos6/centos6.ks 之类的就行2 I" }+ v7 i: _, @5 M9 m% P4 M

该用户从未签到

2#
发表于 2020-7-9 15:37 | 只看该作者
PXE 自动安装物理机
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-3 17:11 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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