图片 6

ONIE用户指南

那篇实用小说介绍怎么着将pfSense
2.0配置成你这个Web服务器的负载均衡器。那篇实用文章就算你早就安装了一个pfSense设备和至少两台Apache服务器,况且运营在你的网络上;还假让你持有了pfSense方面包车型地铁一部分学问。

Apache
是一种功效庞大的Web服务器。近期,Internet上多数运转在Linux上的Apache服务器正为Web世界的稳步兴盛提供着兵多将广的帮助。本文将向读者介绍怎样在Ubuntu Linux系统急迅搭建Apache
Web服务器。

ONIE支持多样招来网络操作系统(NOS)镜像的情势,从轻巧到绝对复杂。
粗略的主意适合在为数非常的少调换机上安装NOS,作为概念验证或演示。这么些点子固然轻巧设置,可是对复杂互联网也许须要的布局援救有限。
相持复杂的方法适用复杂网络和宽广调换机布署的风貌。这几个主意提供了广大的灵选项,瑕疵是您必要领悟和安顿这几个采纳。
本节中的示例援引了二个假想的,基于PowerPC的交换机,成为MACHINE,由假定的创造商商VENDO冠道提供。

要求

  就算Ubuntu 是一种新兴的Linux分支,但Ubuntu
组织却为Apache提供了丰硕的支持软件,那个软件都足以从发行版的光盘获取,也足以从官方站点轻Panasonic载。所以,Ubuntu极其适合作为Web服务器的平台。

1. 行使USB驱动进行设置

要由此USB进行安装,只须求动用文件名称onie-installer将设置程序镜像复制到USB驱动装置的根目录上就能够。
一经NOS安装程序镜像名字为ACME_XYZ1234_PowerPC_Installer.bin。假若USB驱动装置呈现在Linux下的/dev/sdd1上(也许与你的操作系统有所分化)。
将安装程序文件复制到USB驱动装置的根目录下,如下所示:

linux:~$ sudo mkdir /mnt/usb
linux:~$ sudo mount /dev/sdd1 /mnt/usb
linux:~$ sudo cp ACME_XYZ1234_PowerPC_Installer.bin /mnt/usb/onie-installer
linux:~$ sudo umount /mnt/usb

现行反革命得以从Computer中抽取USB设备并将其插入启用ONIE的设备的前(后)面板上的USB插槽。打开设备电源,ONIE将开掘USB设备根目录上的onie-installer并实施。

一台器具用于安装pfSense 2.0一旦那是你的边缘防火墙,作者会建议物理机械)。

 

2. 用到互联网进行安装

对此持有互连网安装场景,ONIE可以经过HTTP从网络上获取NOS安装镜像。本文书档案假若Web服务器的主机名和IPv4地址如下:

hostname:  image-server
IP addr :  203.0.113.10

在三番五次从前,必得先举行如下操作:

  • 安装并布置HTTP服务器
  • 拷贝NOS安装镜像到HTTP服务器

最少两台Apache2服务器这一个足以是虚拟服务器)。

  一、 安装Apache

2.1. 安装并配备HTTP服务器ss

下载并安装HTTP服务器。Apache
httpd 及NGINX
HTTP server。
正文中的示例假定Apache
httpd安装在有着暗中认可配置选项的Linux计算机上。Web服务器文书档案的根目录为/var/www。

对Apache服务器举行了配备,以便以某种情势一并Web文件rsync/corosync或透过Web服务器维持文件版本最新的另贰个挑选)。

  上边,大家首先介绍怎么样设置Apache。具体安装命令如下所示:

2.2. 拷贝NOS安装镜像到HTTP服务器s

从NOS安装镜像承包商处购买安装镜像之后,将安装镜像复制到Web服务器的根目录中。在Linux
Apache情形下,文书档案根目录是/var/www,您恐怕需求root权限技艺实施操作。
若果NOS安装镜像的称谓为ACME_XYZ1234_PowerPC_Installer.bin,将该文件复制到Web服务器文书档案根目录之后,/var/www显示的内容如下:

image-server:~$ sudo cp ACME_XYZ1234_PowerPC_Installer.bin /var/www
image-server:~$ ls -l /var/www
-rw-r--r-- 1 root root  17755 Jun 27 16:18 ACME_XYZ1234_PowerPC_Installer.bin

配置pfSense

  $ sudo apt-get install apache2

2.3. 测量试验从HTTP服务器下载NOS安装镜像

在下一步操作从前,最佳紧凑检查Web服务器的计划和NOS安装镜像的地点。能够品味从另一台机器上下载NOS安装镜像。您能够采用Web浏览器依旧CLI命令如wget恐怕curl来下载。
内需密切检查的U途胜L是:

http://203.0.113.10/ACME_XYZ1234_PowerPC_Installer.bin
http://image-server/ACME_XYZ1234_PowerPC_Installer.bin

pfSense使用负载均衡器,将一些品种的流量带来的负荷分摊到多台服务器上;如若您有多台服务器用于托管运维应用程序,那很好;你能够将负载分摊到全部服务器上,并非把负载全扔给一台服务器、导致不堪重负。

  然后运维Apache,命令如下所示:

3.直连场景

最简易的拓扑结构是Web服务器直接连接到调换机上的以太网管理端口,如下图所示。

图片 1

沟通机和Web服务器直连

这种归纳的章程适用于一丢丢的沟通机场景。在生育情状中,必要连接到沟通机并施行高效的一次性安装时,正是这种气象。
在这种地方中,未有别的附加的布局,ONIE将开采链路当地Web服务器的IP地址
(IPv6或IPv4)。有关ONIE怎么着察觉链路当地邻居音信,请参阅HTTP
IPv4及IPv6邻居章节。
当邻居开掘之后,ONIE遵照“暗许文件名找出顺序”中的描述,为一多种默许安装镜像文件名发出HTTP乞请。
接下去,ONIE应用暗中同意的公文名约定,使用下列的HTTP诉求来寻觅安装镜像:

http://203.0.113.10/onie-installer-powerpc-VENDOR_MACHINE-r0
http://203.0.113.10/onie-installer-powerpc-VENDOR_MACHINE
http://203.0.113.10/onie-installer-VENDOR_MACHINE
http://203.0.113.10/onie-installer-powerpc
http://203.0.113.10/onie-installer

至于用于特定硬件平台的方便文件名称,请联系您的NOS承包商或你的硬件供应商。
配置Web服务器的大致方法是将NOS代理商的镜像名称符号链接(或重命名)为默许的ONIE安装镜像名之一。

image-server:~$ cd /var/www
image-server:/var/www$ sudo ln -s ACME_XYZ1234_PowerPC_Installer.bin ./onie-installer
image-server:/var/www$ ls -l
lrwxrwxrwx 1 root root  104 Jul 22 14:01 onie-installer -> ACME_XYZ1234_PowerPC_Installer.bin

运用标识链接之后,Web服务器会重作冯妇完整的装置镜像,以响应onie-installer的伸手。未来,ONIE能够下载并实施安装镜像了。ss

能够入手了,先点击“Services”服务),然后点击“Load
Balancers”负载均衡器),然后点击“Monitor”监视器)选项卡。

  $ sudo /etc/init.d/apache2 restart

4.二层连接场景

在此拓扑中,指标沟通机和Web服务器在同三个L2互连网中。譬如,他们唯恐都被插入到同三个非托管的沟通机中。如下图所示。

图片 2

调换机和Web服务器处于同一L2网络

这种景况就疑似前面介绍的直连情形一样。ONIE发掘Web服务器的IP地址。并尝试从服务器下载一多级暗许文件名的文书。

要加多一个新条款,点击“Plus”加多)按键,钦点“Name”名称)和“Description”描述,在那么些示例中,小编会使用ApacheClusterMon作为名称和描述),将品种设成“HTTP”,然后为“Host”主机)设置一个未使用的IP地址咱们跟着会创设设想服务器的IP,以便分配给故障切换服务器组),任由“HTTP
Code”HTTP代码)设成“200
OK”。必要的话,然后点击“Save”保存),使改动生效。

  Apache在设置时期将会新建一个目录:/var/www,该目录是该服务器中存放文书档案的根目录。只要在浏览器的地点栏输入  或机器的IP地址就能够访谈放置在此目录中的全体文书档案。

5.基本DHCP场景1 (指虞升卿装镜像U奥迪Q5L)

在这种场所中,大家跳过复杂的状态,使用DHCP服务器提供有关设置镜像地点消息。DHCP服务器,指标交流机和Web服务器都投身同一个L2网络上。如下图所示。

图片 3

调换机和Web服务器及DHCP服务器上位居同一L2互联网上

DHCP服务器担当提供如下新闻:

  • 从IP地址池中为对象交流机分配IP地址
  • Web服务器中设置镜像的UTiggoL
    上面是ISC
    DHCP服务器的dhcpd.conf文件示例。越来越多关于ONIE如何行使DHCP选项的信息,请参阅DHCP诉求和响应章节描述。

subnet 203.0.113.0 netmask 255.255.255.0 {
  range 203.0.113.20 203.0.113.200;
  option default-url = "http://203.0.113.10/customer-abc-onie-installer";
}

运用此布局,ONIE从由range参数定义的地方池中领到IP地址。接下来尝试下载由default-url参数钦点的镜像。
使用那个技术,你可以:

  • 分配任何对您的互联网有意义的IP地址
  • 基于供给命名您的安装镜像,包涵子目录名称
    在此示例中,Web服务器和对象调换机必需放在同四个L2互连网上。

图片 4 
图片 5

  二、 安装PHP

6.基本DHCP场景2 (域名服务器)

这种意况周边于场景1
(钦命安装镜像U奇骏L),不过加多了域名服务器的DNS。通过引进域名服务本人,您能够选拔Web服务器的逻辑名称,而不行使硬编码的IP地址。
要增多对DNS的支撑,请在dhcpd.conf文件中钦点域名服务自个儿的DHCP选项:

subnet 203.0.113.0 netmask 255.255.255.0 {
  range 203.0.113.20 203.0.113.200;
  option domain-name-servers 203.0.113.2;
  option default-url = "http://image-server/customer-abc-onie-installer";
}

域名服务器是203.0.113.2,ONIE使用此服务器来分析主机镜像服务器的IP地址。

2.0配备成你这一个Web服务器的负荷均衡器。那篇实用作品借令你曾经设置了二个pfSense设备和至少两台Apache服务…

  PHP是一种流行的服务器端脚本语言,一般与MySQL或
Postgres结合起来用于管理Web内容、blog和论坛。下边介绍其安装方式,其实它的装置也很简短,命令如下所示:

7.L3互连网场景

这种气象中不再利用DHCP场景2,而是加多路由消息的DHCP配置。指标交流机通过网关遍历三层网络达到Web服务器。网络拓扑如下图所示。

图片 6

交流机和Web服务器及DHCP服务器放在区别的L3互连网

通过此设置,Web服务器和对象沟通机能够驻留在差别的子网络。指标调换机必要通过路由器发送数据包到达Web服务器。
要为指标调换机钦定路由,请在DHCP配置中校路由器选项设置为路由器的IP地址:

subnet 203.0.113.0 netmask 255.255.255.0 {
  range 203.0.113.20 203.0.113.200;
  option domain-name-servers 203.0.113.2;
  option routers 203.0.113.3;
  option default-url = "http://image-server/customer-abc-onie-installer";
}

当呼吁设置镜像时,目的沟通机将数据发送到203.0.113.3,然后路由器将数据发送到下一跳,末了数额包到达Web服务器,并用安装镜像数据恢复生机。
对于这种地方,DHCP服务器必需与目的调换飞机地点于同三个L2互连网,Web服务器能够任意地驻留在路由器可访问的另外子网中。
你能够动用BOOTP代理在分歧的L2互连网中找到DHCP服务器。配置BOOTP代理的相关操作在本文书档案中不做描述。ss

  $ sudo apt-get install libapache2-mod-php5

8.尖端DHCP (匹配承包商类标记符)

当ONIE发出DHCP央浼时,它将DHCP承包商(选项60)设置为特定的字符串。有关怎么样设置DHCP vendor
class,请参阅DHCP相关设置文书档案。本文中应用PowerPC机器,字符串将是:

onie_vendor:powerpc-VENDOR_MACHINE-r0

对用于特定平台的DHCP Vendor Class
Identifier,请联系您的NOS分销商或你的硬件经销商。
ISC DHCP服务器配置文件语法满含基本字符串相称作用,可以用来识别ONIE
DHCP央求。通过剖析thedefault-url选项字符串,将重回一个适宜的镜像U路虎极光L。
上面包车型地铁DHCP配置用于体现在PowerPC调换机中应用不相同商家X和Y的设置镜像:

class "onie-vendor-X-class" {
  match if substring(option vendor-class-identifier, 0, 27) = "onie_vendor:powerpc-VendorX";
  option default-url = "http://image-server/VendorX-onie-installer";
}

class "onie-vendor-Y-class" {
  match if substring(option vendor-class-identifier, 0, 27) = "onie_vendor:powerpc-VendorY";
  option default-url = "http://image-server/VendorY-onie-installer";
}

在这种景观中,DHCP服务器依据vendor-class-identifier选项传回区别的U普拉多L。
调护医治那样的构造时,可能会发掘有个别DHCP日志记录有用。举个例子,放在class
stanza外的log()指令能够帮您领略正在发生的工作:

log(error, concat("vendor-class: ", substring(option vendor-class-identifier, 0, 11)));
log(error, concat("platform    : ", substring(option vendor-class-identifier, 12, 999)));

第三个log()展现了vendor-class-identifier的前10个字符,它应当是字符串onie_vendor。首个log()呈现剩余的字符。
一切不荒谬之后,您能够去除日志。

  重新开动 Apache 以加载上面安装的模块:

9.高级DHCP 2 (VIVSO)

作为承包商类标志符字符串匹配的代替方案,ONIE也发送Vendor-Identifying
Vendor-Specific Information Option (VIVSO – DHCP配置选项125)。
VIVSO方法是可辨指标调换机更可相信的章程,不过这种措施在DHCP服务器上也须求更加多的布局。
关于ONIE如何利用VIVSO的越多信息,请参阅Vendor-Identifying
Vendor-Specific Information (VIVSO)。
VIVSO选项是双向的,ONIE
DHCP客户端发送设置了identifyin字段,DHCP服务器响应UQX56L字段。
VIVSO只但是是在专门的工作的DHCP选项中封装特定的经销商选项。
为了ISC
DHCP服务器分析选项125,大家必需定义要动用的字段和数据类型。以下是ISC
DHCP服务器配置的有个别,定义了ONIE使用的字段:

# Create an option namespace called ONIE
option space onie code width 1 length width 1;

# Define the code names and data types within the ONIE namespace
option onie.installer_url code 1 = text;
option onie.updater_url   code 2 = text;
option onie.machine       code 3 = text;
option onie.arch          code 4 = text;
option onie.machine_rev   code 5 = text;

# Package the ONIE namespace into option 125
option space vivso code width 4 length width 1;
option vivso.onie code 42623 = encapsulate onie;
option vivso.iana code 0 = string;
option op125 code 125 = encapsulate vivso;
I told you this method required more configuration...

在这之中数字42623是一个32-bit
IANA集团码,用于识别其名称空间。由于VIVSO允繁多套的承包商选项,每套都必得由IANA作为标记钦定。
那几个空间安插必得放在全局的dhcpd.conf文件中,并不是别的类定义之外。
今日,在概念选项空间的境况下,我们得以在抽出VIVSO选项时使用这么些概念。以下是选择采用空间定义来检核查象交流机连串布局和机器类型的代码片段:

class "onie-vendor-classes" {
  # Limit the matching to a request we know originated from ONIE
  match if substring(option vendor-class-identifier, 0, 11) = "onie_vendor";

  # Required to use VIVSO
  option vivso.iana 01:01:01;

  # generic CPU architecture matching
  if option onie.arch = "powerpc" {
    option onie.installer_url = "http://image-server/generic-powerpc-onie-installer";
  }

  # matching on CPU architecture and machine type
  if option onie.arch = "powerpc" and option onie.machine = "XYZ1234" {
    option onie.installer_url = "http://image-server/powerpc-xyz1234-onie-installer";
  }

  # The contents of an option can also be used to create the response text
  if exists onie.arch and exists onie.machine and exists onie.machine_rev {
    option onie.installer_url = concat("http://image-server/image-installer-",
                                     option onie.arch, "-", option onie.machine,
                                     "-r", option onie.machine_rev);
  }

  # When operating in ONIE 'update' mode ONIE will check the
  # onie.updater_url response option
  if option onie.arch = "powerpc" and option onie.machine = "XYZ1234" {
    option onie.updater_url = "http://image-server/onie-updater-VENDOR_XYZ1234-powerpc.bin";
  }

}

咱俩来看看这几个布局,并探究其意思:

class "onie-vendor-classes" {
  # Limit the matching to a request we know originated from ONIE
  match if substring(option vendor-class-identifier, 0, 11) = "onie_vendor";

此处的主见是将继续的合作限制为大家所精晓的发源支持ONIE的机器需要。
接下去是IANA选项:

# Required to use VIVSO
option vivso.iana 01:01:01;

那与地点定义的选项空间一同化解了ISC
DHCP服务器中的一个已知难点。若无这几个解决方法,服务器将不会发送贰个125选项响应。
接下去是通用CPU架构相配语句:

# generic CPU architecture matching
if option onie.arch = "powerpc" {
  option onie.installer_url = "http://image-server/generic-powerpc-onie-installer";
}

那是比较选项字段和字符串的三个例证。若是字符串相称,则响应中的installer_url被设置为内定的字符串。
紧接着,在对应字段中应用恳求字段的值:

# The contents of an option can also be used to create the response text
if exists onie.arch and exists onie.machine and exists onie.machine_rev {
  option onie.installer_url = concat("http://image-server/image-installer-",
                                   option onie.arch, "-", option onie.machine,
                                   "-r", option onie.machine_rev);
}

运用函数concat您可以凑合多少个字符串来构成响应字段。使用option指令从呼吁中提取字符串并动用结构创制响应。
比如,在地点的代码片段中,我们假使onie.arch = “powerpc”,onie.machine =
“XYZ1234″且 and onie.machine_rev =
“2”。在这种气象下,onie.installer_url将被设置为:

onie.installer_url = "http://image-server/image-installer-powerpc-XYZ1234-r2"

终极,让大家看看updater_url字段:

# When operating in ONIE 'update' mode ONIE will check the
# onie.updater_url response option
if option onie.arch = "powerpc" and option onie.machine = "XYZ1234" {
  option onie.updater_url = "http://image-server/onie-updater-VENDOR_XYZ1234-powerpc.bin";
}

ONIE能够在自身更新格局下运作,查找ONIE更新U奥迪Q5L。更新UPAJEROL用于下载ONIE更新二进制文件。
当ONIE以创新情势运作时,大家所切磋的关于安装镜像U奥迪Q7L的具备内容都适用于ONIE更新镜像。
关于更多ONIE更新情势的音讯,请参照他事他说加以考察ONIE自更新方式。

  $ sudo /etc/init.d/apache2 restart

10.HTTP底部温州昆曲本

当ONIE发出HTTP央求镜像时,会发送一些ONIE特定的HTTP底部。这一个底部能够在高等配置中行使,以支撑配置。那个尾部包罗但不防止:

ONIE-SERIAL-NUMBER:
ONIE-ETH-ADDR:
ONIE-VENDOR-ID:
ONIE-MACHINE:
ONIE-MACHINE-REV:
ONIE-ARCH:
ONIE-OPERATION:

关于HTTP尾部的愈来愈多新闻,请参阅HTTP央求和HTTP底部描述。
举例,由DHCP服务器发出的镜像UEscortL能够是HTTP服务器上的CGI脚本。CGI脚本能够动用尾部如ONIE-SERubiconIAL-NUMBE酷威和ONIE-ETH-ADDLAND,将安顿与仓库储存调节数据库联系起来。

  为了印证PHP模块是不是科学加载,大家能够创立叁个PHP文件,然后尝试通过Web服务器访谈该公文。其余,大家精晓PHP内建了二个phpinfo函数,该函数能够交给它的条件的详细消息。所以大家还足以应用上面包车型客车通令来检查PHP的行事状态:

11.调节和测验安装进程

参预您在基于ONIE的设置进程中冒出难题,请参照他事他说加以考察以下几条提议。

  sudo sh -c “echo ” > /var/www/info.php”

11.1.承认Web服务器配置

你是还是不是足以接纳Web浏览器从Web服务器下载镜像?请参阅“测量检验从HTTP服务器下载NOS安装镜像”。

  之后,在浏览器地址栏键入
Apache未有科学加载PHP模块。消除难题的秘诀是,在/etc/apache2/apache2.conf
或 /etc/apache2/mods-enabled/php5.conf文件中投入上面一行命令:

11.2.探求使用直连方式

品味遵照直连场景所描述方式,将交流机直连到Web服务器。

  AddType application/x-httpd-php .php .phtml .php3

11.3.反省DHCP服务器日志

品味加多一些日记到您的DHCP服务器配置中,如高等DHCP
(相配经销商类标志)中所描述的那样。