在FEDORA 22上配置一台PXE SERVER
Why:
在fedora上面配置一台PXE server最大的问题在于如何确认各方面已经工作正常,因为测试是非常困难的,所以很难确认哪一步没有做好。
本文大致按照如下流程前进,具体的配置附上文章参考链接,主要说说遇到的坑。
概述(环境和条件)
配置DHCP server
配置nginx
其他组件
确认和Troubleshooting.
How:
1. 概述
配置一台PXE Server,需要如下几个组件
DHCP Server(提供IP地址服务并提供PXE协议支持,用来定位安装服务器)
TFTP Server(提供PXE基础服务,bootloader,装载操作系统启动镜像(image)和内核)
syslinux(提供部分启动文件)
HTTP Server(提供操作系统文件服务,当然用nfs也是可以的,这里选用nginx)
2. DHCP Server安装
因为配置DHCP Server需要一些值得注意的操作,所以单独拿出来。
参考链接:在ubuntu上安装dhcp server
https://help.ubuntu.com/community/isc-dhcp-server
因为是在fedora上安装,所以在看文章的时候将相应的包用dnf或者yum装好即可,内容都是一样的,包名字也几乎一致。
注意如下几点:
一. 给提供dhcp服务的网卡绑定IP地址,不然dpcpd将无法启动,会报“”
Also, you have to assign a static ip to the interface that you will
use for dhcp. If you will use eth0 for providing addresses in the
192.168.1.x subnet then you should assign for instance ip 192.168.1.1 to the eth0 interface using NetworkManager. Without this step you will
get an error from dhcpd when starting the service.
设置IP地址参考:为centos7设置IP地址(使用NetworkManager或者不使用NM)
http://ask.xmodulo.com/configure-static-ip-address-centos7.html
既然使用centos7的话,用NetworkManager的tui版本还是很棒的,不一定必须要用手工改写配置文件的方式。
更改设置之后,如果网卡没有启动,则使用ifup来启动这个设备。
3. 配置Nginx
首先,将你的ISO文件解压(或者直接mount到某个目录也行,暂时不急)
然后开始安装nginx(安装nginx的方法网上很多)
注意的一点是,必须为nginx打开autoindex功能,如下
在server字段内,填写
server {
……
location / {
autoindex on;
root /home/wwwroot/;
}
……
}
启动nginx,将解压好 的文件放到”/home/wwwroot/os”内。
PS:理论上来说只要是HTTP服务器就行,nfs当然也可以,所以用apache httpd也是可以的。
4. 安装其他组件
参考:
install-pxe-network-boot-server-in-centos-7,
http://www.tecmint.com/install-pxe-network-boot-server-in-centos-7/
centos官方文档
http://docs.oracle.com/cd/E19045-01/b200x.blade/817-5625-10/Linux_Troubleshooting.html
其中又很重要的地方就是给dhcp服务器在最后的位置或者顶级追加关于pxe功能的支持,注意最后一个filename中的“/”,这是你tftp地址的根开始算起的。看你的文件放在哪个目录的。
5. 确认和Troubleshooting
这个东西很难测试,除非有另一台机器。我在fedora22上使用virtualbox的桥接模式测试失败,但是实际上已经搭建成功了。
下面的参考资料是让你依次确认各个服务的,还不错。
Troubleshooting the Linux PXE Boot Installation
PS:有个问题, 本地的DHCP Server启动也许回导致你无法连上互联网,不要惊慌!nsloopup正常,照理说不会影响你的无线网卡的。
我这边是启动这块网卡就回导致无线网卡无法上网,有待研究解决。
PS:iptables一定要关闭
iptables -F
至于是否save就看你自己决定了。