开源中文网

您的位置: 首页 > IBM Aix > 正文

如何在AIX中配置虚拟IP地址

来源:  作者:

在操作系统AIX5L中推出了对虚拟IP地址( VIPA Virtual IP Adress)的支持, 本文将解 释什么是虚拟IP地址?并给出在AIX中配置虚拟IP地址的详细说明。

  什么是虚拟IP地址 (VIPA)?

  AIX中虚拟IP地址的概念与IBM OS/390中的很相似。将虚拟IP地址赋给AIX系统后, 可以使IP地址不再依赖指定的网络接口。发送方只需将包送到接收方服务器的虚拟 IP地址上即可(所有接收到的包还是通过真正的物理网络接口到达该服务器的)。

  在虚拟IP地址使用以前,如果一个网络接口失效,所有与之相关的连接(connection) 就都会失去。使用虚拟IP地址,需要有AIX系统对虚拟接口和网络中路由器提供自动重新路由的支持,只要包可以重新路由到其他的网络接口上,现存到虚拟IP网络接口的连接就不会中断。因此虚拟IP地址可以屏蔽网卡,路由器等引起的故障,使连接保留。网卡的故障不会影响到已有的连接,在AIX上使用虚拟IP地址进一步提高了系统的可用性。同时有多块网卡共同来负担系统的负载,可以减少对单一网卡和子 网的集中使用,解决由此带来的瓶颈。

  AIX中VIPA的功能对网络设备是透明的,无需专用的P系列或网络设备。在IBM P系列 服务器上实施虚拟IP地址,需要:

  AIX5L

  两个以上连接到企业网络,不在同一子网的 IP 接口 (不分物理类型)

  在企业网中运行IP路由(routing protocols)协议

  虚拟IP地址 应用环境实例

 

  图1 中的 P系列服务器有一虚拟IP地址(vi0) 10.68.6.1,两块以太网网卡。不同网卡 (FDDI,token-ring, ATM, X.25等)只要IP网络接口最终连接到大的企业网,企业路由 器有路由可到达,就可一起使用。

  图中的 "X"表示有可能出故障的位置。接口en1 和 en5 使用相同的虚拟IP地址 vi0 地址。如果物理网络接口,路由器或网络路径出现故障,网络协议可将此次连接 (connection)路由到此台服务器的另一物理网络接口。远端系统通过 telnet vi0 访 问P系列服务器,所有发到 vi0地址的包,是通过服务器的en1 或 en5接口收到的。使用虚拟IP地址,远端系统和所涉及的路由器必须能将发送到虚拟IP地址(vi0)的包 路由到服务器的一个物理网络接口 (en1 或 en5)。

在SMIT菜单中,对虚拟IP地址的配置同其他IP网络接口一样。需要注意的是,一旦 配置了虚拟IP地址地址,此地址 将成为该服务器的首选源地址(source address)。 表现为以下两方面:

  虚拟IP地址将成为该服务器所发出的TCP/IP包头的源地址。

  如果远端系统和路由器没有到达虚拟IP地址的路由,连接就会丢失。

  虚拟IP地址的配置

  虚拟IP地址只在服务器上配置就可以了,在服务器上的已有的和随后配置的IP接口

  都会自动加到虚拟IP地址的环境中。 ( 在AIX5L 5.1中不能指定所包含的IP接口,

  AIX5.2中用户可指定 虚拟IP地址 使用哪几个IP接口)

  1. 用 smitty chinetvi 来配置 VIPA 接口 ( AIX5L 5.1)

 

  #smitty mkinetvi ( AIX5L 5.2)

 

  2.ifconfig 命令

  在 ifconfig 命令中增加了两个选项-- 'vipa_iflist'和 '-vipa_iflist'. ifconfig 命令可按以下

  方法调用该选项:

  为VIPA配置可用的物理接口

  # ifconfig vi0 1.1.1.1 vipa_iflist en0,en1,tr0

  从VIPA中删除物理接口

  # ifconfig vi0 -vipa_iflist en1,tr0

  "ifconfig -a" 和 "ifconfig <vi interface>" 用于显示vipa接口的配置

  # ifconfig vi0

  vi0: flags=84000041<UP,RUNNING,64BIT>

  inet 1.1.1.1 netmask 0xffffff00

  vipa_iflist : en0 en1 tr0

3.虚拟IP地址配置完成后,用命令查看接口表。输出结果显示了一个接口项vi0,但

  在路由表中没有此项。由于没有包通过vi0,包的记数值(count) 始终为零。

 

#netstat -in                
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
en1 1500 link#3 2.7.1.1b.d8.1e 989 0 996 0 0
en1 1500 10.68.1 10.68.1.1 989 0 996 0 0
en5 1500 link#4 8.0.5a.42.e3.c 813 0 1162 0 0
en5 1500 10.68.5 10.68.5.1 813 0 1162 0 0
vi0 0 link#5   0 0 0 0 0
vi0 0 10.68.6 10.68.6.1 0 0 0 0 0
lo0 16896 link#1   261 0 267 0 0
lo0 16896 127 127.0.0.1 261 0 267 0 0
lo0 16896 ::1   261 0 267 0 0

 

  接收的包都会被路由到为网络所知的虚拟IP地址地址 (10.68.6.1)上,发送的包则是

  通过IP路由表所管理的一实际物理接口送出的。vi0是虚拟的 -- 和设备没有绑定,

  用netstat -rn 命令在系统的路由表中没有记录项。说明用 SMIT 配置此接口时,

  没有增加此接口路由。

  # netstat -rn

  Routing tables

  destination Gateway Flags Refs Use If PMTU Exp Groups

  Route Tree for Protocol Family 2 (internet):

  default 10.68.1.1 UG 3 1055 en0 - -

  10.68.1/24 10.68.1.1 U 0 665 en0 - -

  10.68.5/24 10.68.5.1 U 0 1216 en5 - -

  127/8 127.0.0.1 U 4 236 lo0 - -

  10.68.6.1 127.0.0.1 UH 0 0 lo0 - -

  相关技术说明

  VIPA 与 alias

  虚拟IP地址的概念与IP 别名( IP alias) 很类似,只是 IP 别名需绑定硬件接口。使用

  虚拟IP地址的最大好处在于,虚拟设备可独立的激活或关闭(up or down) 而不会影

  响真实的网络接口的状态。另外,虚拟接口地址可以改变,而IP 别名只能增加或

  删除。

  通过真实IP地址访问

  在为服务器设置了虚拟IP地址后,原来真实的网络接口IP地址仍然有效,也可通过指

  定它来访问主机。只是在用 ping 和 telnet 命令时,不能发挥虚拟IP地址不依赖物理

  网卡进行通讯的作用。虚拟IP地址可以屏蔽物理网卡/连接的失效。使用真实IP地址

  会再次引入应用对物理网卡的依赖。

  如果远程系统使用虚拟IP地址访问VIPA主机或运行在VIPA系统上的应用是会话的发

  起者,虚拟IP地址将是IP包中的源地址。如果远程系统使用服务器的真实IP地址发

  起会话呼叫,响应包中的源地址则是真实IP地址。有一例外,对于绑定到指定IP接

  口的应用,服务器发送包的源地址是绑定的IP地址。

  VIPA 与路由协议

  在上图中的AIX系统虽然没有运行路由协议,但在第一跳的网络路由器中配置了通过

  真实物理IP接口到虚拟IP地址的路由,并向其他路由器发布。如果需要,可在AIX系

  统中启动 gated 后台进程。为虚拟IP地址修改后的 gated 进程不会增加到vi0接口的

  路由,或通过vi0 发布信息,gated 进程支持的OSPF协议会向相邻的路由器发布虚

  拟接口信息。 

  设置多个VIPA地址  

  可为一台服务器设置多个虚拟地址,此时列在neststat -in输出结果中的第一个 vi 接

  口项起作用。用户可以向使用其他物理IP接口一样,将应用绑定到其他的vi# 上。

  如果路由器需要对到特定的虚拟IP地址的包进行优先传递,多个虚拟虚拟IP地址非常

  有用。在一台主机上为多个公司运行WEB服务,需要使用多个虚拟IP地址,将不同

  的应用绑定到特定的虚拟IP地址上,也要使用多虚拟IP地址:

  vi0 200.1.1.1 www.companyA.com

  vi1 200.1.1.2 www.companyB.com

  vi2 200.1.1.3 www.companyC.com

Tags:AIX中配置虚拟IP地址
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明