AIX에서 사용 가능한 네트워크 인터페이스에 대한 모든 정보를 얻고 싶습니다. 리눅스에서와 마찬가지로 /sys/class/net
파일에서 가져올 수 있습니다. 이 정보를 찾을 수 있는 AIX 파일이 있습니까?
또한 "/dev/kmem" 파일을 사용하여 액세스를 시도했습니다. 시스템 정보에 struct sysinfo를 사용하는 것처럼 네트워크 인터페이스 정보를 캡처하려면 어떤 구조를 사용해야 합니까? "ifnet" 기호의 정보를 얻으려고 합니다. 여기에서 네트워크 인터페이스의 MTU, 하드웨어 주소 등을 얻을 수 있나요?
답변1
AIX에서 이 컨텐츠는 ODM에 보관되지만 이를 얻는 가장 쉬운 방법은 운영 체제 명령을 사용하는 것입니다. 네트워크 인터페이스의 경우,
ifconfig -a
논리적인 정보를 얻기 위해 lscfg
, 물리적 세부정보(또는 경우에 따라 유사물리학) lsdev
도 포함됩니다 .lsattr
예,
$ifconfig -a
en1: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(INACTIVE),PSEG,LARGESEND,CHAIN>
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
en0: flags=5e080822,c0<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>
en2: flags=4e080822,80<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST,GROUPRT,64BIT,PSEG,CHAIN>
en3: flags=4e080822,80<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST,GROUPRT,64BIT,PSEG,CHAIN>
lo0: flags=e08084b<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT>
inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255
inet6 ::1/0
tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1
$lsdev -Cl en1
en1 Available 10-78 Standard Ethernet Network Interface
$lscfg -vl ent1
ent1 P1-I5/E1 10/100 Mbps Ethernet PCI Adapter II (1410ff01)
10/100 Mbps Ethernet PCI Adapter II:
Part Number.................09P5023
FRU Number..................09P5023
EC Level....................H10971A
Manufacture ID..............YL1021
Network Address.............0002556AF7A9
ROM Level.(alterable).......SCU001
Product Specific.(Z0).......A5204205
Hardware Location Code......P1-I5/E1
$lsattr -El ent1
alt_addr 0x000000000000 Alternate Ethernet Address True
busintr 14 Bus interrupt level False
busmem 0xc0284000 Bus memory address False
chksum_offload yes Enable hardware transmit and receive checksum True
intr_priority 3 Interrupt priority False
ipsec_offload no IPsec Offload True
large_send yes Enable TCP Large Send Offload True
media_speed 100_Full_Duplex Media Speed True
poll_link no Enable Link Polling True
poll_link_timer 500 Time interval for Link Polling True
rom_mem 0xc0200000 ROM memory address False
rx_hog 1000 RX Descriptors per RX Interrupt True
rxbuf_pool_sz 1024 Receive Buffer Pool Size True
rxdesc_que_sz 512 RX Descriptor Queue Size True
slih_hog 10 Interrupt Events per Interrupt True
tx_preload 1520 TX Preload Value True
tx_que_sz 8192 Software TX Queue Size True
txdesc_que_sz 512 TX Descriptor Queue Size True
use_alt_addr no Enable Alternate Ethernet Address True
API를 통해 이 작업을 수행하려는 것 같습니다. 이것원래 디자인 제조업체그렇다면 최선의 선택입니다. 이게 최신인지는 모르겠지만, 이건IBM ODM API 문서 링크.
ODM 파일은 일반적으로 에 있지만 /etc/objrepos
일부 /usr/lib/objrepos
제품은 HACMP(현재 PowerHA System Mirror 등)와 같은 다른 위치에 ODM 파일을 설치할 수도 있습니다.
답변2
ODM은 사용자가 시스템을 구성하려는 방식입니다. mkdev, cfgmgr 등이 부팅 시 이를 읽습니다. 그러나 AIX에서는 BSD 시스템과 마찬가지로 속성을 직접 조작할 수 있습니다. 예를 들어 ifconfig en0 10.10.10.10
BSD에서와 마찬가지로 인터페이스의 IP 주소를 변경할 수 있습니다. 실제로 ODM아니요이 경우 변경하십시오. 또는 chdev -l en0 -a netaddr=10.10.10.10
ODM 및 현재 설정을 업데이트하여 이를 수행할 수 있습니다. 또는 chdev에 -P 플래그를 추가하고 ODM을 업데이트하여 재부팅 시 적용되도록 할 수도 있습니다.
ODM 인터페이스는 표준 IBM 출판물에 문서화되어 있습니다.http://www-01.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.base/kc_welcome_61.htm. 현재 설정(예: ifconfig 또는 netstat)에 액세스하는 다양한 방법도 모두 문서화되어 있습니다. Stephens의 책이나 기타 BSD 참조 자료의 사본은 현재 설정에 액세스하는 데 도움이 될 수 있습니다. 나는 ODM을 사용하는 방법을 보여주는 AIX의 몇 가지 예가 있다고 생각합니다.
답변3
명령 만 내리면 ifconfig -a
답이 나옵니다.
smitty tcpip
추가 분석 및 구성 변경을 시도할 수도 있습니다 .