在 AIX 中,TCP/IP 网络支持多种适配器,如:
- 10/100 MB 以太网适配器
- 千兆以太网适配器
- 令牌环网络适配器
- FDDI
- ATM Turboways 100/155
- 异步适配器和本地串行端口
- 串行光通道转换器
当在系统中添加网络适配器后,在 ODM(Object Data Manager)中就会有相应的逻辑设备被创建。下面的例子是如何创建一个以太网络适配器:
# lsdev -Cc adapter | grep ent ent0 Available 10-80 IBM PCI Ethernet Adapter (22100020) ent1 Available 20-60 Gigabit Ethernet-SX PCI Adapter (14100401) |
相应的网络接口可以允许 TCP/IP 使用网络适配器。对于那些可以自动检测到的适配器,如以太网和令牌网适配器,网络接口都是自动创建的。然而,例如 ATM 适配器,就需要手工进行创建。
对于每个网络适配器,AIX 系统为它们分别分配了一个位置码(location codes)。它的作用是确定适配器所在的位置。一般情况下,位置码一般由最多 4 位代码组成,具体代码的含义在不同类型的机器上是不同的。在这里,我们向您展示如何查询适配器的位置码,如下面的示例:
# lsdev -Cc adapter ppa0 Available 01-R1 Standard I/O Parallel Port Adapter sa0 Available 01-S1 Standard I/O Serial Port sa1 Available 01-S2 Standard I/O Serial Port sa2 Available 01-S3 Standard I/O Serial Port siokma0 Available 01-K1 Keyboard/Mouse Adapter fda0 Available 01-D1 Standard I/O Diskette Adapter scsi0 Available 10-60 Wide SCSI I/O Controller tok0 Available 10-68 IBM PCI Tokenring Adapter (14103e00) ent0 Available 10-80 IBM PCI Ethernet Adapter (22100020) mg20 Available 20-58 GXT130P Graphics Adapter ent1 Available 20-60 Gigabit Ethernet-SX PCI Adapter (14100401) scsi1 Available 30-58 Wide SCSI I/O Controller sioka0 Available 01-K1-00 Keyboard Adapter sioma0 Available 01-K1-01 Mouse Adapter |
从示例中可以看出,这个系统中安装了 tok0 (一个 PCI 令牌环适配器,位置码为10-68),ent0(一个内置的以太网卡,位置码为10-80)和一个 PCI 千兆以太网卡,位置码为20-60,通过相应的参数表,可以查询到各个网络适配器对应的槽位。详细的操作方法可以参见 System p 的硬件手册:
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.pseries.doc/hardware_docs/hardware.htm
如果您想从系统中删除一个网络适配器,首先你需要删除相对应的网络接口,然后才能成功删除这个适配器设备。
例如,想删除一个名为 ent1 的网络适配器,需要执行下面的相应操作:
1.查看网络适配器;
# lsdev -Cl ent1 //ent1 为网络适配器名 ent1 Available 04-D0 IBM PCI Ethernet Adapter (22100020) |
2.查看网络接口的定义:
# lsdev -Cl en1 //en1 为网络接口名 en1 Available Standard Ethernet Network Interface |
3.停止这个网络接口:
# ifconfig en1 down |
4.删除这个网络接口:
# ifconfig en1 detach |
5.删除这个网络接口的驱动:
# rmdev -l en1 -d en1 deleted # rmdev -l ent1 -d ent1 deleted |
然后您就可以关闭您的服务器,然后把相应的网络适配器拆卸掉了。如果您使用的是热插拔的 PCI 插槽,那么您只要禁用相应的 PCI 插槽,就可以在机器运行的状态下拆卸掉对应的网络适配器了。
为了确认您适配器安装的是哪个网络驱动,您需要使用 lsdev 命令来查询对应的设备的 ID 号,这个 ID 会在 lsdev 输出中显示(一般在括号中)。然后使用 lslpp 命令查找对应的 LPP。下面的例子就是演示如何查询出一个千兆以太网卡所对应的驱动:
# lsdev -Cc adapter | grep ent ent0 Available 10-80 IBM PCI Ethernet Adapter (22100020) ent1 Available 20-60 Gigabit Ethernet-SX PCI Adapter (14100401) # lslpp -l | grep 14100401 devices.pci.14100401.diag 4.3.3.0 COMMITTED Gigabit Ethernet-SX PCI devices.pci.14100401.rte 4.3.3.10 COMMITTED Gigabit Ethernet-SX PCI devices.pci.14100401.rte 4.3.3.0 COMMITTED Gigabit Ethernet-SX PCI |
如果一个新安装的网络适配器没有在 lsdev 命令输出中显示,那么您可以通过使用cfgmgr 命令来确定缺少了那些软件。cfgmgr 命令会立即显示一个警告并显示缺少了哪些驱动文件集,例如:
# cfgmgr cfgmgr: 0514-621 WARNING: The following device packages are required for device support but are not currently installed. devices.pci.token-ring:devices.pci.14101800:devices.pci.IBM.42H0658:devices.pci . IBM.25H3037:devices.pci.IBM.38H5818 |
安装缺失的驱动文件集并重新运行 cfgmgr 命令。如果 cfgmgr 没有显示任何警告,那么这个网络适配器被成功地安装在您的系统上了。
您可以使用 lsattr 命令显示网络驱动的属性值。命令会显示每一个网络驱动的属性名称、值,以及它的相关作用描述。每一个网络驱动属性都有一个标记表示它是否能够被修改。
上面这个例子中列出的是一个千兆以太网卡的驱动属性。注意,属性 attributes busmem, busintr, intr_priority, 和rx_que_size 是不能被修改的。如果这个属性值为 True,那么就可以使用 chdev 来对它进行修改,例如:
# chdev -l ent1 -a rx_checksum=yes ent1 changed |
在对这些属性修改之前,务必阅读一下这个设备驱动的相关文档。为了达到最好的性能,请让网络接口的属性尽量符合整个网络的相关属性。
lsattr 命令可以协助对网络驱动的参数值进行设定。它的 –R 标记可以显示某个指定属性值得范围,例如:
# lsattr -R -l ent1 -a stat_ticks 1000...1000000 (+1) |
这个例子显示了 stat_ticks 属性值的范围在 1000 到 1000000 之间。
下表中列出了 AIX 支持的网络接口。可能系统中会存在同一类型的多种设备,同时每种设备都会有它们自己的接口。跟在适配器和接口名称后面的 x 表示对应的适配器和接口的数字,从 0 开始。每当系统增加一个型号的设备或接口时,x 就会相应增加1。
可以注意到,标准的以太网(en)和802.3(et)使用的是相同的适配器类型(et)。
ledev 命令可以用于显示系统上的可用网络接口,例如:
# lsdev -Cc if en0 Available Standard Ethernet Network Interface et0 Defined IEEE 802.3 Ethernet Network Interface lo0 Available Loopback Network Interface tr0 Available Token Ring Network Interface |
和网络适配器相同,网络接口的属性也可以使用 chedev 命令进行修改。例如:
# lsattr -E -l en0 -a netaddr netaddr 10.47.1.5 Internet Address True # chdev -l en0 -a netaddr=10.47.1.6 en0 changed # ifconfig en0 en0: flags=e080863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT> inet 10.47.1.6 netmask 0xffff0000 broadcast 10.47.255.255 |
网络上的机器只有知道了其它机器的物理(MAC)地址才能与其进行通信。而机器是通过不断的发送 ARP 广播包来更新自己本地的 MAC 地址表的。下面的例子向您演示了如何在 AIX 上查询本机网络接口对应的 ARP 地址:
经过了一次 ARP 查询,系统会把 IP 和 MAC 的对应关系列表保存在本机的 ARP 缓存中,这样就保证了本机只需查询本地的 ARP 缓存就可以得到相应机器的 MAC 地址,而不需要每次都进行相应的 ARP 广播查询。但是如果网络中的相应机器更换了网络适配器,那么相应的对应相同 IP 地址网卡的 MAC 地址也会随之更改。这样如果还继续按照本地的 ARP 缓存中的信息来进行相应的连接的话,将无法达到相应的网络接口。这样就需要对本机的 ARP 缓存进行相应的更新。 首先,使用 arp 命令查看 ARP 缓存:
ARP 缓存信息中会包括:
- 机器名(如果可以被解析的话)。
- IP 地址。
- MAC 地址。
- 硬件接口类型,如令牌环或以太网。
当网络上任何支持 ARP 的机器接受到 ARP 请求时,本机会记住请求方的 IP 地址和硬件地址,如果需要会更新本机的 APR 列表。如果请求包中的目的地址和接收方的地址不符合,那么,接收方就会抛弃这个请求包;相反,接收方会向请求方发回一个响应包,这样请求方就会按照响应包中的信息更新自己的 ARP 缓存列表。这样就可以保证 ARP 列表的正确性。
执行 smitty tcpip 命令会显示如下图的界面:
选择“
Minimum Configuration & Startup
”,然后选择您想配置的网络接口。然后就可以进入对应的配置界面:
上图中显示了对应网络接口最基本的一些信息。包括:主机名,IP 地址,子网掩码,DNS 信息等。在这里您可以进行相应的修改,然后按 Enter 进行确认保存。
下面会详细地向您介绍如设置相应的属性。
除了可以使用 SMIT 来设置主机名,您还可以使用 hostname 命令来设置它。例如:
检查当前主机名:
# hostname server3 |
使用 chdev 修改主机名:
# chdev -l inet0 -a hostname=server3 inet0 changed |
使用 lsattr 名查看主机名:
# lsattr -El inet0 -a hostname -F value server3 |
在简单的 TCP/IP 网络中,网络中的机器使用 /etc/hosts 文件来存储对应机器的 IP 地址和机器名的列表。但是在大型的网络中,网络中的计算机就需要借助类似 DNS 的服务来解析域名了。
AIX 系统上,缺省的域名解析顺序是:
- 使用 /etc/resolv.conf 文件中定义的 DNS/BIND 解析。
- NIS
- 查询 /etc/hosts 文件
当然可以通过建立或者修改 /etc/netsvc.conf 文件来修改这个缺省的解析顺序。同时,环境变量 NSORDER 也可以覆盖 /etc/netsvc.conf 文件和缺省定义的解析顺序。NSORDER 变量的格式为:host=value,value,value,其中 value 可以为 bind,nis 和 local。下面的例子演示了如何通过修改 NSORDER 变量来影响域名解析功能:
# ping -c 1 server2 PING server2.itsc.austin.ibm.com: (9.3.240.57): 56 data bytes 64 bytes from 9.3.240.57: icmp_seq=0 ttl=255 time=0 ms ----server2.itsc.austin.ibm.com PING Statistics---- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0/0/0 ms # export NSORDER=local,bind,nis # ping -c 1 server2 PING server2: (9.3.240.57): 56 data bytes 64 bytes from 9.3.240.57: icmp_seq=0 ttl=255 time=0 ms ----server2 PING Statistics---- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0/0/0 ms |
修改域名解析顺序一定要小心,但是在 DNS 无法使用的时候,这个操作还是很有必要的。
/etc/resolv.conf 文件中保存着本机 DNS 服务器的信息。如果 /etc/resolv.conf 文件不存在,那么 DNS 服务也就无法使用。对于 /etc/resolv.conf 文件的配置,您可通过 smitty resolv.conf 命令来执行,如下图所示:
下面是一个 /etc/resolv.conf 文件的示例:
# cat /etc/resolv.conf search ibm.com nameserver 9.3.240.2 nameserver 9.53.248.2 nameserver 9.53.183.2 domain itsc.austin.ibm.com |
对应的记录的含义:
- search 搜索机器名的列表。这通常由本地机器名的域决定。
- nameserver 按顺序要查询的 DNS 服务器的 IP 地址,最多三个。
- domain 本地域名。
注意: 只能使用一个 search 和 domain 选项。
如果你从网络管理员那里得到了你机器的 IP 地址和子网掩码信息,那么你就可以动手配置你的网络接口了。
您可以使用命令来直接配置您的网络接口,例如:
当然,首先,您需要查看机器有哪些网络接口:
# lsdev -Cc if en0 Available Standard Ethernet Network Interface et0 Defined IEEE 802.3 Ethernet Network Interface lo0 Available Loopback Network Interface tr0 Available Token Ring Network Interface |
然后使用 chedev 命令进行配置:
# chdev -l en0 -a netaddr='9.3.240.58' -a netmask=255.255.255.0’ en0 changed |
这样您就将 en0 接口的 IP 地址和子网掩码分别配置为:9.3.240.58 和 255.255.255.0。 同样,您可以使用 SMIT 进行同样的配置,例如: 执行 smitty chinet 进入配置页面
需要提醒您的是,smitty chinet 和 chedev 都会永久的更新 ODM,这样即使重启也无法使设置失效。当然,还有不必更新 ODM 的方法,就是使用 ifconfig 命令进行临时的修改,当然在机器重启后,相关的网络接口配置也会恢复到修改前的状态。例如:
# ifconfig en0 195.116.119.2 netmask 255.255.255.0 up |
以上命令就可以相应地修改 en0 的 IP 地址和子网掩码。
AIX 是一个多用户的操作系统,它支持用户在本地或者从远程进行登录和访问。支持这个功能的通讯层就是 TTY 子系统。TTY 子系统控制着终端设备和相关程序的通信。典型的 TTY 设备有:
- 调制解调器
- ASCII 终端
- 系统控制台
- 串口打印机
- X-windows 下的 X-term 和 aixterm
下面的例子向您简单地演示了一下如何在串行端口 0 上配置一个能够实现登录功能的 TTY 控制台。
创建 TTY 控制台:
# mkdev -c tty -t tty -s rs232 -p sa0 -w 0 -a login=enable tty0 Available |
确认 TTY 控制台已经添加到自定义的 VPD 目标类中了:
# lscfg -vp|grep tty tty0 01-S1-00-00 Asynchronous Terminal |
显示控制台的完全路径:
# lscons -b /dev/tty0 |
如果想删除这个 TTY 控制台,首先要取消它的登录功能:
# chdev -l tty0 -a login=disable tty0 changed |
然后再删除它:
# rmdev -l tty0 -d tty0 deleted |
学习
- 本 FAQ 的部分内容是参考了 IBM 红皮书“IBM eServer Certification Study Guide - AIX 5L Communications”,它整体地介绍了 AIX 在网络通信方面的各项内容,如网络基本概念,网络基本管理,网络服务等,是一个很好的学习 AIX 网络管理的资料。
-
AIX FAQ 第 1 期:作为第 1 期,主要涉及的内容还是一些比较基础的问题,如基础概念,基本操作等。
-
AIX 5L 网络性能优化: 第 1 部分:网络概述—对硬件进行监视 :在本文中,您将回顾网络配置方面的一些最佳实践,通过充分地利用各种网络工具(如 netstat、netpmon、entstat 和 nmon),您可以利用这些实践对硬件进行高效地监视。
-
系统管理工具包: 网络扫描:本未经授权的服务,如 Web 服务器、或者文件共享解决方案,不仅会降低网络的性能,其他人还可能使用这些服务进入到您的网络中。在本文中,将了解如何使用相同的技术以确保非假冒的服务能够保持可用状态。
-
使用 SSH 建立安全通信信道:本文描述了对连接到基于 AIX 或 Linux 的 SSH 服务器的简单 SSH 客户端的设置,这种服务器为典型的、懂得技术的用户提供了设置、配置和操作的能力,以便通过一种灵活的方式在 SSH 服务的基础上实现数据和服务的隧道化。
-
AIX 认证专题:在这里,我们会陆续推出一系列的认证文章和教程,帮助您能够更好地准备认证考试。当然,这些内容也是很好的学习 AIX 的资料,可以让您更加系统地了解这个操作系统,从而一步步成为一个合格的管理员。
-
AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为你把本专区的所有专题进行汇总,让您更方便的找到你需要的内容。
-
系统管理员工具包:“系统管理员工具包”系列文章主要专注于一些方法和技术,可以帮助您最大限度地利用各种 UNIX 环境中可用的工具,简化异构环境下的系统管理任务。
-
受欢迎的内容:查看您的同事所感兴趣的 AIX 和 UNIX 文章。
-
AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
-
AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
-
AIX 5L Wiki:发现 AIX 相关技术信息的协作环境。
- 按主题搜索“AIX and UNIX”库:
-
Safari 书店:访问此电子参考资料库可查找特定的技术资源。
-
developerWorks 技术事件和网络广播:了解最新的 developerWorks 技术事件和网络广播。
-
Podcast:收听 Podcast 并与 IBM 技术专家保持同步。
获得产品和技术
-
IBM 试用软件:从 developerWorks 可直接下载这些试用软件,您可以利用它们开发您的下一个项目。
讨论
- 参与 developerWorks Blog,从而加入到 developerWorks 社区中来。
- 参与“AIX and UNIX”论坛: