Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
HP-UX 10.0 Network Administration.
Oracle Korea
고객 지원실 협력사 지원팀
김 형일
Module 1 Lan Concepts and Components 1. LAN이란 무엇인가? 특징 l Broadcast mechanism
l 물리적인 매체에 의해 연결된다
l 구성요소는 각각이 독립적이며, 다른 요소와 통신한다.
l 지역적으로 10Km 이내를 말한다.
l 상대적으로 빠른 network이다(보통 10Mbps, 100Mbps(FDDI))
참고) Wan : Lan 에 비해 좀더 지역적으로 떨어진 Network 를 말하며, 전송 속도는
1Mbps로 떨어진다.
참고) Multi-user system : 기존의 host machine을 말한다. client는 단지 display만을 해
주는 dummy terminal로 사용한다.(time-sharing system)
2. Network Communication by Layers(OSI 7 Layer)
Network 관련 S/W, H/W 는 다양하다. 그러므로 이에 대한 Protocol 에 대한 정의가 없으면
각각의 vendor 들은 multi vendor 에 대한 접속 기능에 대한 부담을 안아야 한다. 그래서 이
를 위해 각각 layer 에 대한 규정을 Internet Standard Organization 인 OSI(Open Systems
Interconnection)에서 7 layer로 규정하여 각각의 vendor에 대한 불일치를 해소 하였다.
아래의 도표가 각각의 layer에 대한 기능을 설명한 것이다.
Layer 기능 전송 참조
7 Application layer Service(Application) Message hostname 참조
6 Presentation layer 코드 변환, (ascii->machin code)
압축, 암호화
Message hostname,
nodename 참조
5 Session layer Process간 통로 개설(socket) Message Socket address 참조
4 Transport layer S/W적인 Error control
Flow control
Message Port address 참조
3 Network layer Routing기능(IP address)
최단 경로 탐색
Packet IP address 참조
2 Data link layer H/W 적인 error control
Flow control
Flame Mac address 참조
(Lan card 의
address)
1 Physical layer Bit 전송
전송매체 정의
Bit
참고사항
l 6 계층에서의 Mac address 는 6byte 로 구성되어 있으며, 이것은 Lan card 를 제작
할 때에 부여되는 고유한 번호이며 여기에는 3bytes 의 제작 회사 번호도 포함되
어 있다. 최초에 상대방 node 의 Mac address 을 알기 해서는 전송하는 측에서
packet 을 IP 와 Mac(0xffffff)의 값으로 broadcasting 한 후 IP address 에 해당하는
node 의 3 계층에서 자신의 Mac address 을 다시 실어서 최초에 broadcasting 한
node에 보내 준다. 이와 같은 방법을 ARP(Address Resolution Protocol)이라 함. 이
와 같이 처음 접속하는 node 는 ARP protocol 을 이용하지만 기존에 접속을 했던
것은 ARP table에 기록된다.
l Arp table의 내용을 보는 방법
# arp -a
krrtr1.kr.oracle.com (152.69.16.1) at 0:0:c:31:c4:db ether
krhp7.kr.oracle.com (152.69.16.33) at 8:0:9:7b:db:48 ether
partpub1.kr.oracle.com (152.69.29.103) at 0:20:af:45:b9:6b ether
hikim.kr.oracle.com (152.69.18.188) at 0:80:c7:ca:71:93 ether
l Mac address를 아는 방법.
# lanscan ↵
Hardware Station Crd Hardware Net-Interface NM MAC HP DLPI Mjr
Path Address In# State NameUnit State ID Type Support Num
2/0/2 0x080009201470 0 UP lan0 UP 4 ETHER Yes 52
Lanscan command를 이용하여 station address를 참조하면 된다.
예를 들어 0x080009201470 이와 같은 값이 나오면 앞의 0x080009 는 Lan card 를
생산한 회사의 고유 번호 이다. 위의 예는 HP Lan card이다.
3. Basic Components of a Lan
3.1 Lan의 기본적인 구성요소
l Transmission cable(media)
l Interface cable(transceiver)
l Information-handling mechanism(Lan card)
l Network services software(driver)
3.2 Transmission Media
3.2.1 Twisted Pair
10Mbps의 속도를 내며, 100m정도의 거리까지 지원한다.
구성이 쉽고, 저렴하다.
Baseband 방식(Bandwidth)(single channel)
3.2.2 Coaxial
10Mbps의 속도를 내며 500M 정도의 거리까지 지원한다.
약간 비싸다
Baseband
3.2.3 Fiber Optic
100Mbps의 속도를 내며 2Km 정도의 거리까지 지원한다.
비싸고 신뢰도가 높다.
Broadband(multi channel)
3.3 Topologies
3.3.1 Bus
구성이 쉽고, 확장이 쉬우며, 모든 노드가 독립적이고 일반적으로 많이 쓰임
반면에 거리에 제한이 있다.
3.3.2 Ring
속도가 빠르고 가격이 낮다.
3.3.3 Star
Network 의 관리를 중앙에서 하며, 이 node 가 down 되면 전체 network 이 마비
되는 단점이 있다.
3.4 Access Methods
CSMA/CD : Carrier sense multiple access with collision detection
이방식은 우선 message를 보내고자 하는 node가 network line을 check한 후
에 만약 전송되는 message 가 없으면 보내고, 전송되는 message 가 있으며
random 시간만큼 기다린 후에 전송을 다시 시도한다.
Token passing
전송을 하고자 하는 node 는 token 을 가져야 한다. 즉 token 을 가진 node 만이
message를 전송할 수 있다. 여기에는 Monitor station이 있어서 token을 잃어버리
거나 2 개의 token 이 되는 것을 방지한다. Mac address 가 가장 큰 것이 Monitor
station 이 된다. 만약 Monitor station 이 down 되면 다음으로 가장 큰 Mac 을 가
진 node가 Monitor station이 된다.
3.5 IEEE 802.3 Standard
이것은 OSI 1,2계층에 대한 표준을 정의 한 것으로 자세한 것은 아래와 같다.
Topology Bus
Access method CSMA/CD
Medium Coaxial cable(50 ohms), Twisted-pair cable, Fiber-optic cable
Signaling techniques Baseband, 10Mhz,
10 Base 5 : 500 m Coaxial cable
10 Base 2 : 185 m Coaxial cable
10 Base T : 100 m Twisted Pair cable
10 : 10Mbps transfer rate
Base: Baseband technique
3.6 FDDI Standard
Fiber Distributed Data Interface 는 두개의 독립적인 ring 을 이용하여 fault tolerant 를
지 원하는 구성이다. 이는 아래와 같다.
Topology Dual ring
Access method Passing token
Medium Twisted-pair cable, Fiber-optic cable
Signaling techniques Baseband, 100Mhz, NRZI code
3.7 Formulating the Internet Addresses
임의의 어떤 node를 인식하기 위한 address에는 network part와, host part가 있다.
Network part는 임의의 network을 유일하게 나타내며, Host part는 해당 network에서
유일한 node를 나타낸다.
3.7.1 A class
0--------.--------.--------.--------(1~127.x.x.x) : 첫번째의 0은 고정임
← →
network address
그러므로 총 2**24=16777215개의 node를 관리할 수 있다
3.7.2 B class
01------.--------.--------.--------(128~191.x.x.x) : 첫번째의 01은 고정임
← →
network address
총 2**16=65535개의 node를 관리한다.
3.7.3 C class
011-----.--------.--------.-------(192~223.x.x.x) : 첫번째의 011은 고정임
← →
network address
총 2**8=255개의 node를 관리한다.
3.7.4 Loopback
127.0.0.1은 모든 node의 loopback address를 나타낸다.
3.7.5 만약에 Network address가 152.69.16.33이면(B class)
152.69.0.0은 해당 network address를 나타냄
152.69.255.255는 Broadcast address를 나타낸다. 즉 Broadcast를 원할 경우에는 이
주소로 전송을 한다.
3.7.7 Netmask는 network address를 모두 1로 한 것이다.
즉 위의 예에서 152.69.16.33는 255.255.0.0이다.
3.7.8 IP address와 hostname등에 관련하여 정보를 얻기 위해서는 아래의 command를
수행하면 된다.
# nslookup hostname
/users1/ora73/app/oracle/product/7.3.2>nslookup
Using /etc/hosts on: krdms
> krdms
Using /etc/hosts on: krdms
Name: krdms
Address: 152.69.29.58
Aliases: krdms.kr.oracle.com
> partpub1
Using /etc/hosts on: krdms
Name: partpub1
Address: 152.69.29.103
Aliases: partpub1.kr.oracle.com
l 자신의 ip address, netmask, broadcast address 를 알기 위해서는 아래의
command를 이용하면 된다.
# ifconfig lan0
lan: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING>
inet 70.2.210.45 netmask ffffff00 broadcast 70.2.210.2
3.8 Repeaters and Terminators
3.8.1 Repeater
Repeater 는 network line 에 흐르는 신호를 증폭시켜 주어서 Lan 의 거리 제한을
늘릴 수가 있다. 일반적으로 Repeater 는 서로 다른 network segment 를 연결할 경
우에 사용한다. 사용상의 제한은 연속해서 4개 까지만 설치한다.
3.8.2 Terminators
Terminators 는 bus 에 흐르는 signal 의 반사를 없애준다. 이것을 설치하지 않으면
온전한 network를 사용할 수 없다.
3.8.3 Hubs(Multiport Repeaters)
Hub 는 쉽게 말해서 여러 개의 repeater 의 기능을 제공한다고 할 수 있다. 이
것은 network 의 거리의 제한 보다는 크기를 늘려준다. 하나의 connector 로 부터
Hub 를 연결하여 여러 개의 node 를 붙일 수 있다. 이것의 장점은 subnet 의 fault
를 고립 시킬 수 있으며, 전체 network를 계속 사용하게 하면서 쉽게 새로운 node
를 추가 할 수 있다.
T T
Repeater
T T
Also Network #2
Network #1
3.9 Repeater, Bridge, Router, Gateway의 7layer와의 관계
Repeater는 1계층, Bridge는 2계층, Router는 3계층, Gateway는 7계층을 지원한다.
이로써 각각의 역할이 다르다. 자세한 것은 아래에 설명 된다.
Repeater
Repeater는 오직 1계층만을 지원해서 전기적인 signal만을 높여 줌으로 연결 시의
거리만을 늘려줄 수 있다.
Bridge
Bridge는 2계층까지 지원한다. 2계층에서는 Lan card의 구성이므로 Lan card상의
protocol을 지원한다. 또한 Bridge에는 Mac address table을 유지하여 network traffic을 감소
시킬 수 있다. 즉 두개의 서로 다른 network segment 가 있을 때(여기서 segment 는 broadcast
할 수 있는 단위이다) Bridge에서 filtering을 한다. 하는 방법은 다음과 같다.
l 만약 다른 segment 에 원하는 Mac address 가 있으면 다른 segment 로 넘겨준다
(Forwarding)
7
6
5
4
3
2
1
7
6
5
4
3
2
1
Repeater
1 1
7
6
5
4
3
2
1
7
6
5
4
3
2
1
Bridge
1 1
2 2
l 만약 현재의 segment에 있으면 filtering하여 보내지 않는다.
l Bridge에 해당 Mac address가 없으면 모든 연결된 segment로 broadcasting한다.
위와 같이 Bridge 를 이용하여 작업을 함으로써 모든 node 로 broadcasting 하는 것을 줄일
수 있다.
또한 Token Ring을 사용하는 card와 FDDI를 사용하는 card등 card가 서로 다른 protocol
을 사용하는 경우에도 지원 가능 하다.
Router
Router는 3계층까지 지원한다. 즉 OSI 3 Layer에서 참조하는 IP address까지 resolve할 수
있다. 그러므로 network address가 다른 network을 연결 할 수 있다.
Gateway
위의 그림과 같이 Gateway는 7계층을 모두 지원함으로 서로 다른 system, driver, protocol등
모든 것이 지원 가능하다.
Router
7
6
5
4
3
2
1
7
6
5
4
3
2
1 1 1
2 2
3 3
7
6
5
4
3
2
1
7
6
5
4
3
2
1
Gateway
1 1
2 2
3 3
4 4
5 5
6 6
7 7
IBM HP
Module 2 Configuring Network Connectivity
1. First Boot Configuration
최초에는 /sbin/rc가 /sbin/set_parms를 이용하여 기본적인 network configuration을 한다.
l host name
l time zone
l IP address
l subnet mask
l default gateway
l domain name server(DNS, BIND server)
l network information service(NIS)
l root password
2. Lan card 설치의 확인
ioscan command를 이용하여 Lan card의 설치 여부를 알 수 있다.
참조
# ll /dev/lan*
crw-rw-rw- 1 root sys 185 0x000000 Apr 4 09:32 /dev/lan0
# lssf /dev/lan*
lan3 card instance 0 ieee at address 48.1 /dev/lan0
3. Lan 관련 S/W의 확인
/usr/sbin/swlist command를 이용하여 Lan 관련 software의 설치 여부를 알 수 있다.
참고로 HP server에 씌워진 HP Patch list도 역시 알 수 있다.
예) # swlist -l product | more
4. Lan 9000 startup file
/etc/rc.config.d/netconf
여기에는 set_parms를 이용하여 정의한 값들이 있다.
HOSTNAME="krdms"
OPERATING_SYSTEM=HP-UX
LOOPBACK_ADDRESS=127.0.0.1
INTERFACE_NAME[0]=lan0
IP_ADDRESS[0]=152.69.29.58
SUBNET_MASK[0]=255.255.240.0
BROADCAST_ADDRESS[0]=152.69.29.58
LANCONFIG_ARGS[0]="ether ieee"
DHCP_ENABLE[0]=0
ROUTE_DESTINATION[0]=default
ROUTE_MASK[0]=""
ROUTE_GATEWAY[0]=152.69.16.1
ROUTE_COUNT[0]=1
ROUTE_ARGS[0]=""
GATED=0
GATED_ARGS=""
RARPD=0
ROUTE_DESTINATION[1]="default"
ROUTE_MASK[1]=""
ROUTE_GATEWAY[1]=152.69.16.1
ROUTE_COUNT[1]=1
5. Hosts file
/etc/hosts file은 여러 개의 node에 대한 host name과 alias, 그리고 IP address 를 지정한
다. 즉 일종의 name service를 한다.
여기서 주의할 사항은 NFS, NIS 등에서는 host name 만을 인식하고 alias 이름은 인식하
지 못한다.
6. Host name으로 IP 찾기
nslookup command로 찾을 수 있다.
예) $nslookup krhp7
Name Server: krhp7.kr.oracle.com
Address: 152.69.16.33
Name: krhp7.kr.oracle.com
Address: 152.69.16.33
7. Routing Concepts
7.1 Concept
Internet은 물리적으로 다른 network segments들간에 router, gateway로 연결이 된다.
여기서 router 는 광대한 network 상의 멀리 떨어진 node 간에 connection 이 이루어
질 수 있도록 상대방의 node 로 갈 수 있는 길을 알려 준다. 전송되는 어떤 packet
이 router 에 도착하면 이 router 는 원하는 node 로 갈 수 있는 다른 router 로 연결한
다. 이와 같이 하여 최종적으로 원하는 node까지 갈 수 있다.
7.2 Routing Table
위의 그림은 임의의 network map 으로 192.6.1, 192.6.2, 192.6.3, 192.6.4 의 4 개의
network 로 구성되어 있다. 이때 moe 에서의 mounting table 은 아래와 같이 구성 될
수 있다.
연결하고자 하는 network 가야할 IP address
192.6.1 192.6.2.8
192.6.2 Deliver direct
192.6.3 Deliver direct
192.6.4 192.6.3.6
7.4 Routing table에 추가 삭제.
route command 로 조절 할 수 있다. 조절 할 경우에 주는 option 에는 network
specific method, host specific method 두 가지가 있다.
Network specific method 는 해당 network address 만을 지정한 후, 이에 해당 하는
IP address 는 모두 여기에 적용된다. 즉 위의 예에서는 192.6.1 이다. 192.6.1.1 부터
192.6.1.254까지는 모두 여기에 적용된다.
Host specific method 는 개개의 IP address를 주어서 해당 host로 찾아 가도록 한
다
예) route add net 192.6.1 192.6.2.8 1 : network specific
route add host 192.6.5.10 192.6.3.6 1 : host specific
route default 192.6.3.6 1 : default gateway
Network
192.6.2
Network
192.6.3 moe
192.6.2.9 192.6.3.5
Network
192.6.4
larry
192.6.3.6
Network
192.6.1
curly
192.6.2.8
routing table 보는 방법
/usr/bin/netstat -rn
Routing tables
Destination Gateway Flags Refs Use Interface Pmtu PmtuTime
127.0.0.1 127.0.0.1 UH 0 2 lo0 4608
152.69.29.58 127.0.0.1 UH 18 6412 lo0 4608
default 152.69.16.1 UG 0 1044 lan0 1497
152.69.16.0 152.69.29.58 U 5 65315 lan0 1497
8. Subnetting Concepts. 만약 할당 받은 network address가 C class이면 255개의 node가 하나의 network segment
에 포함된다. 그러므로 하나의 node 에서 전송하는 message 는 모든 node 로 전달된다.
이렇게 사용하게 되면 network traffic 이 증가 할 뿐 아니라 관리상의 문제가 발생할 수
있다. 그래서 만든 개념이 바로 ‘subnet’이다. 즉 subnet 을 이용하여 하나의 network
address를 축소된 여러개의 subnet을 생성할 수 있다.
subnet을 구축하는 방법을 알아 보자
만약 할당받은 Network address가 192.6.12라고 하면 C class이다. 그러므로 여기서 사용
할 수 있는 192.6.12.0(network address), 192.6.12.255(broadcast address)를 제외한 253 개의
address 를 사용할 수 있다. 우리 회사의 각 부서별로 network address 를 구분하고자 할
때 필요한 network address 가 4 개라고 가정하자. 그러면 IP address 의 마지막 byte 를 이
용하여 구분해야 하는데 4 개로 분리하려면 2 개의 bit 이 필요하다. 하지만 2 개의 bit 로
구분할 경우에는 (00), (01), (10), (11)의 경우가 있는데 여기서 다시 (00), (11)은 각각
network address와 broadcast에 사용된다. 그러므로 결국 3개의 bit이 필요하다.
그러면 000, 001, 010, 011, 100, 101, 110, 111중에서 000, 111은 제외하고 6개의 subnet을
구성할 수 있다.
그럼 001 network address에 대한 사용 가능하 IP address를 알아보자.
192.6.12.00100000은 subnet1의 network address이다. ==> 192.6.12.32
193. 6.12.01000000은 subnet2의 network address이다. ==> 192.6.12.64
그래서 subnet1이 사용할 수 있는 IP address는 192.6.12.33~192.6.12.62이다.
192.6.12.63은 subnet1의 broadcast address로 사용된다. 또한 192.6.12.31이하의 address는
사용하지 못한다.
이때 subnet1의 net mask는 network address가 모두 1인 것이다
11111111.11111111.11111111.11100000 ==> 255.255.255.224
여기서 하나 알아야 할 사항은 현재의 IP 가 어느 subnet 에 속해 있는가를 알 수 있는
방법이다. 그것은 현재의 IP address와 net mask를 bit and를 하면 바로 subnet address가
나온다.
현재의 IP가 192.6.12.65일 때
11000000.00000110.00001100.01000001
11111111.11111111.11111111.11100000
11000000.00000110.00001100.01000000
그러므로 192.6.12.64가 해당 IP의 subnet address이다.
위와 같은 형태로 subnet을 구축하면 아래와 같은 결과를 볼 수 있다.
Subnet Subnet Address Host IP address Broadcast Address Net Mask
사용 불가 192.6.12.0 * 192.6.12.1-30 192.6.1231
subnet1 192.6.12.32 192.6.12.33-62 192.6.12.63 255.255.255.244
subnet2 192.6.12.64 192.6.12.65-94 192.6.12.95 255.255.255.244
subnet3 192.6.12.96 192.6.12.97-126 192.6.12.127 255.255.255.244
subnet4 192.6.12.128 192.6.12.129-158 192.6.12.159 255.255.255.244
subnet5 192.6.12.160 192.6.12.161-190 192.6.12.191 255.255.255.244
subnet6 192.6.12.192 192.6.12.193-222 192.6.12.223 255.255.255.244
사용 불가 192.6.12.224 192.6.12.225-254 192.6.12.255
위와 같이 subnet 을 구성할 경우에는 몇 개의 IP 를 사용하지 못하지만 관리상의 편의
와 broadcast하는 범위를 subnet으로 줄임으로 network traffic을 감소 할 수 있다.
9. Troubleshooting Network Connectivity
일반적으로 어떤 Network 을 구성했을 경우에 항상 정확하게 작동하지는 않는다. 그
래서 Network connectivity 를 검증해주는 여러 가지 tool 을 이용하여 문제점을 파악해야
한다. 그러므로 Network에 대한 개념과 검증 tool에 대한 많은 이해가 필요하다.
Network 의 상태를 확인하는 tool들은 아래와 같다.
l linkloop
l ping
l lanscan
l lanadmin
l arp
l netstat
발생 가능한 문제
l 동축 cable사용 시 terminators를 사용했는가?
l 잘못된 IP address를 사용하지 않았는가?
l subnetmask는 정확히 지정되었는가?
l 두개의 system이 같은 IP를 지정하지 않았는가?
l router가 정확히 구성되어 있는가?
l cable에 결점이 있는가?
l Lan segment가 거리제한 을 넘기지 않았는가?
l /etc/hosts file이 정확히 기록되어 있는가?
9.1 linkloop
linkloop는 OSI Layer 2를 검증하는 것으로 상대방이나 자신의 Mac address를 이용
하여 확인한다.
Server1
# lanadmin ---> 나중에 설명함(Mac address를 보기 위해 사용)
Enter command:lan
....
Enter command:display
...
Station Address = 0x80009201470
...
Server2(다른 unix에서)
# linkloop 0x80009201470
Link connectivity to LAN station: 0x80009201470
♦ OK
9.2 ping
Ping은 OSI Layer 3를 검증하는데 사용한다. OSI Layer 3는 IP address를 참조하므로
검증을 할 때 연결하고자 하는 IP address를 이용한다.
# ping krhp7 -n 4
PING krhp7.kr.oracle.com: 64 byte packets
64 bytes from 152.69.16.33: icmp_seq=0. time=1. ms
64 bytes from 152.69.16.33: icmp_seq=1. time=1. ms
64 bytes from 152.69.16.33: icmp_seq=2. time=1. ms
64 bytes from 152.69.16.33: icmp_seq=3. time=1. ms
----krhp7.kr.oracle.com PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss
round-trip (ms) min/avg/max = 1/1/1
9.3 lanscan
lanscan 은 간단한 명령으로 link level address(Lan card address)를 알아 낼 수 있는
command이다.
# lanscan
Hardware Station Crd Hardware Net-Interface NM MAC HP DLPI Mjr
Path Address In# State NameUnit State ID Type Support Num
10/20/5/2 0x0800092F3B59 1 UP lan1 UP 4 ETHER Yes 52
8/12/6 0x0800098C01EA 0 UP lan0 UP 5 ETHER Yes 52
9.4 lanadmin
lanadmin 은 LAN diagnostic tool 이며, Lan interface card 를 reset 할 경우와, network
interface의 통계량을 모을 수 있다.
# lanadmin
LOCAL AREA NETWORK ONLINE ADMINISTRATION, Version 1.0
Wed, Feb 12,1997 08:37:06
Copyright 1994 Hewlett Packard Company.
All rights are reserved.
Test Selection mode.
lan = LAN Interface Administration
menu = Display this menu
quit = Terminate the Administration
terse = Do not display command menu
verbose = Display command menu
Enter command: lan
LAN Interface test mode. LAN Interface Net Mgmt ID = 4
clear = Clear statistics registers
display = Display LAN Interface status and statistics registers
end = End LAN Interface Administration, return to Test Selection
menu = Display this menu
nmid = Network Management ID of the LAN Interface
quit = Terminate the Administration, return to shell
reset = Reset LAN Interface to execute its selftest
Enter command: display
LAN INTERFACE STATUS DISPLAY
Wed, Feb 12,1997 08:37:30
Network Management ID = 4
Description = lan1 Hewlett-Packard LAN Interface Hw Rev 0
Type (value) = ethernet-csmacd(6)
MTU Size = 1500
Speed = 10000000
Station Address = 0x800092f3b59
Administration Status (value) = up(1)
Operation Status (value) = up(1)
Last Change = 108069633
Inbound Octets = 2180382240
Inbound Unicast Packets = 0
Inbound Non-Unicast Packets = 0
Inbound Discards = 0
Inbound Errors = 5
Inbound Unknown Protocols = 0
Outbound Octets = 65797184
Outbound Unicast Packets = 19126160
Outbound Non-Unicast Packets = 0
Outbound Discards = 0
Outbound Errors = 0
Outbound Queue Length = 0
Specific = 655367
9.5 arp
Arp은 arp table에 있는 entry를 수정하거나 확인해 볼수 있는 command이다.
Arp table을 수정하기 위해서는 root prvilege가 필요하다.
# arp -a
leo (168.219.4.129) at 0:20:da:9:10:a3 ether
meu (168.219.4.130) at 0:20:da:8:4e:43 ether
9.6 netstat
netstat는 local LAN interface의 상태와 network, protocol의 통계를 report할 수 있다.
일반적으로 network 상의 문제가 있을 경우에 많이 사용되는 command 이다. 이것은
OSI layer 1,2,3계층에 대한 검증을 할 수 있다.
l netstat -i
network interface의 상태를 나타냄(2 layer)
# netstat -I
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
ni0* 0 none none 0 0 0 0 0
ni1* 0 none none 0 0 0 0 0
lo0 4608 loopback localhost 61007593 0 61007588 0 0
lan1 1500 none none 0 0 0 0 0
lan0 1500 168.219.4.128 xdb 43903485 26145 10760478 1 64103
위에서
Mtu : Maxmum Transfer Unit
Ipkts : Input packet
Opkts : output packet
l netstat -rs
routing 통계량을 display 한다.
# netstat -rs
routing:
0 bad routing redirects
1 dynamically created route
0 new gateways due to redirects
4294939005 destinations found unreachable
0 uses of a wildcard route
5 routes marked doubtful
5 routes cleared of being doubtful
0 redirects deleted
l netstat -r
local routin table안의 모든 route 정보를 display함
# netstat -r
Routing tables
Destination Gateway Flags Refs Use Interface Pmtu PmtuTime
22.13.253.98 168.219.4.129 UGHD 0 23 lan0 1500
localhost localhost UH 0 2775 lo0 4608
xdb localhost UH 361004678 lo0 4608
default 168.219.4.129 UG 5411339405 lan0 1500
168.219.4.128 xdb U 0 793820 lan0 1500
Flags: U : up
G : Gateway
H : Destination host
Module 3 Configuring ARPA/Berkeley Services
1. Internet Services
아래의 표에 나타나 Internet services 는 O/S 가 install 될 때 일반적으로 bundle 로 install
된다.
Capability ARPA Berkeley
Terminal acdess
File transfer
Remote command execution
Interprocess communication
Network information
Dynamic routing
Name service
Time synchronization
Remote boot
Remote printing
telnet
ftp, tftp
SMTP
gated
BIND(DNS)
NTP
BOOTP
rlogin
rcp
remsh, rexec
sendmail (uses SMTP)
Sockets, rpc
rwho, ruptime, finger
printer(rlpdaemon)
2. Daemons and Servers
Daemons Servers
/usr/sbin/* /usr/lbin/*
inetd
named
gated
xntpd
rwhod
sendmail
Ftpd
telnetd
tftpd
bootpd
rlogind
remshd
rexecd
fingerd
l Deamon
Deamon 은 계속적으로 수행되고 있는 process를 말함(background)
l Server
Service 를 요청을 받았을 경우에 invoke 되어서 요청한 작업을 수행해주는 process
이다. 이것은 작업이 끝나면 process는 종료 된다.
3. inetd 3.1 The concepts of inetd
순서
À ip address와 port address를 이용하여 server의 inetd로 접속한다.
Á /etc/services file에서 telnet은 23 port라는 것을 검사한다.
 /etc/inetd.conf file에서 telnet에 대한 service를 해주기 위한 process를 찾는다.
à 위에서 찾은 process를 invoke해 준다.(사용하지 않는 임의의 port지정)
Ä client의 telnet과 server의 telnetd가 연결된다.
위와 같이 inetd deamon은 internet service를 제공하여 준다.
3.2 The configuration file of inetd
# vi /etc/inetd.conf
ftp stream tcp nowait root /usr/lbin/ftpd ftpd -l
client server
inetd inetd
$ telnet server
telnet telnetd
/etc/inetd.conf
/etc/services
/var/adm/inetd.sec
À Á
Â
à Ä
#telnet stream tcp nowait root /usr/lbin/telnetd telnetd
login stream tcp nowait root /usr/lbin/rlogind rlogind
shell stream tcp nowait root /usr/lbin/remshd remshd
이 file 을 이용하여 임의의 service 를 제공할 수도 있고, 임의의 service 를 제공하지
않을 수 있다.
위의 예에서는 telnet service를 제외하고 나머지는 모두 제공한다.
inetd.conf file을 수정하였을 경우 refresh 하기 위해서는 아래의 command를 이용
# inetd -c
주) inetd를 kill command로 shutdown 하면 안된다. 이때는
# inetd -k command를 이용하라.
4. Socket socket은 한마디로 해서 communication endpoint이다.
Socket address = internet address + port address
Sockets
Type
Protocol
Applications
Service
stream
stream-based
TCP(layer 4)
Transfer large volumes of data
reliable
ARPA
datagram
message-based
UDP
Short, fast data transfers without
error checking
NFS
5. finger service
finger는 지정한 user에 대한 정보를 display한다.
display되는 내용.
l login name
l comment field from /etc/passwd
l home directory and login shell from /etc/passwd
l terminal device file from /etc/utmp(user 가 login 되어 있을 경우에)
l remote에서 접속했을 경우에 해당 IP address
l idle time from /etc/utmp
l last login time from /var/adm/wtmp(user가 logout 되어 있을 경우에)
l home directory에 .project file의 내용.
l home directory에 .plan file의 내용
$finger hikim
Login name: hikim In real life: ORACLE 김형일
Directory: /cstool2/hikim Shell: /usr/bin/ksh
On since Feb 12 12:35:45 on pts/4
from 70.2.107.137
Project:
저는 요즘 그냥 열심히 합니다.
Plan:
무계획의 계획이 얼마나 계획성 있는 줄 아세요?
6. rwhod Deamon
rwhod Deamon 은 Berkeley 의 services 중의 하나인데, 이것은 network 상의 각 system 의
상태를 monitor해 준다. 기본적으로 rwhod는 information 을 주고, 받는다. 이것은 3분마
다 수행을 하는데 network에 약간의 부하를 줄 수가 있다.
수행 방법
À /etc/rc.config.d/netdaemons를 수정한다.(booting시 자동으로 start)
Export RWHOD=0 ==> Export RWHOD=1
Á /sbin/init.d/rwhod start(manual 하게 start)
Â수행 방법
# rwho
root xdb:ttyq2 Feb 12 13:03
# ruptime
xdb up 56+18:21, 1 user, load 0.01, 0.02, 0.03
ruptime중의 load에 있는 0.01, 0.02, 0.03의 의미는 각각 마지막 2분, 5분, 10분 동안
의 cpu에 요구된 run의 수이다. 일반적으로 5~8 run이상이면 cpu power가 부족한 것
으로 본다.
Module 4 ARPA/Berkeley Security Issues 1. Internet Services Security Issues Overview
2. System and user Equivalency
equivalency는 system equivalency와 user equivalency두 가지가 있다.
2.1 system equivalency
system equivalency는 hosts간의 equivalency이다.
system equivalency는 /etc/hosts.equiv에서 제어 한다.
예) /etc/hosts.equiv
hostname
hostname username
krhp7
krhp2 hikim
이 예제는 krhp7에 대한 허가와 krhp2의 hikim이라는 사용자에 대한 허가를
나타낸다. 모든 site에 대한 허가를 위해서는 단지 ‘+’만 넣어 주면 된다.
inetd
remshd rlogind telnetd
syslogd
/etc/services
/etc/inetd.conf
/var/adm/inetd.sec
syslog.log
ftpd
/etc/passwd
/etc/hosts.equiv
$HOME/.rhosts
/etc/passwd
/etc/hosts.equiv
$HOME/.rhosts
/etc/passwd /etc/passwd
/etc/ftpusers
Example
psd1에서 수행
login : leo
À $ rlogin psd2
Á $ rlogin psd2 -l tom
 $ remsh psd3 ll
à $ remsh psd3 -l tom ll
login : sue
Ä rcp psd2:.profile .
Answer
À 성공. Psd2의 hosts.equiv file에 psd1에 대한 권한이 sue만 제외하고 모두 있다.
Á 성공. 하지만 tom에 대한 passwd를 요구한다. 왜냐 하면 같은 user 인 leo로 login
하는 것이 아니라 tom이라는 user로 login을 하기 때문이다.
 실패. Psd3에는 psd1의 tom에 대한 허가 밖에 없다.
à 실패. Psd3에 tom에 대한 권한이 있지만 현재의 user가 leo이므로 passwd를 요구
한다. 하지만 remote shell에는 passwd를 입력하는 단계가 없으므로 실패이다.
Ä 실패. Psd3 에서 psd1 의 sue 에 대한 허가가 없다. 단지 tom 에 대한 것만 있을 뿐
이다.
2.2 user equivalency
각각의 user에 대한 equivalency를 정의한다.
$HOME/.rhosts에서 제어 한다. 작성하는 것은 hosts.equiv와 같다.
Example
psd1 psd2 psd3
/etc/hosts.equiv /etc/hosts.equiv
psd1 -sue
psd1
psd1 tom
-psd2
psd1 psd1 psd1 psd2 /.rhosts
psd1
/home/sue/.rhosts
psd1 sue
psd1 joe
/home/leo/.rhosts
psd1 -sue
psd1 +
-psd3
login : leo
À rlogin psd2 -l root
Á remsh psd2 ll
 remsh psd2 -l sue ll
login : sue
à rlogin psd2
Ä rcp leo@psd2:profile .
Answer
À 성공. 하지만 passwd를 요구
Á 성공.
 실패. Psd2의 sue의 .rhost에는 leo에 대한 허가가 없다.
à 성공
Ä 실패. Psd2의 leo의 .rhost에는 sue에 대한 거부가 있다.
3. Security Risk with .netrc file
이것은 자신이 자주 방문하는 ftp site 에 대한 정보를 기록해 두고 다음에 사용할 경우
에 user name 이나 passwd 없이 접속이 가능하다. 하지만 이것은 remote site 에 대한 user
와 passwd 가 공개 되어 있으므로 security 측면에서 좋지는 않다. 이 file 은 permission
을 400으로 해야 한다. 다시 말하면 자기 자신만이 읽을 수 있도록 해야 한다.
예)
$HOME/.netrc
machine psd2 login karen password karen123
$ ftp psd2
추가로 Berkeley의 remsh과 비슷한 rexec command도 역시 사용 할 수 있다.
예)
$ rexec psd2 ls -a
4. FTPusers file
/etc/ftpusers file의 ftp 를 사용하는 사람들 중에 사용을 하지 못하도록 하고자 하는 user
를 제한 하기 위한 것이다. 이 file에 기록된 user는 ftp로 접속을 할 수 없다.
예) /etc/ftpuser
root
guest
ftp로 root와 guest로 접속하는 사람은 사용을 못하게 한다.
5. Anonymous FTP
임의의 user 에 대한 접속을 허가 하기 위한 것으로 이것을 지정하면 ftp 로 접속시에
anonymous이거나 ftp이고 임의의 non-null password를 입력하면 된다. 하지만 이것은 제
한된 사용자 이므로 해당 Anonymous FTP user의 home directory가 root directory가 된다.
그러므로 다른 곳은 access를 하지 못하게 된다.
예) /etc/passwd
ftp:*:500:10:Anonymous FTP user:/home/ftp:/usr/bin/false
6. inetd.sec file
이것은 internet service 에 대한 추가적인 security 를 강화하기 위해 사용하는 file 이다.
이곳에서 임의의 service에 대해 허가와 거부에 대한 정의를 할 수 있다.
Format
service_name allow | deny host_specifiers
Example
shell deny 130.3.1-2.* net1
ftp deny 192.4.21.*