14장. PPP (Point to Point Protocol)
14.1 Sun-to-PC Dialup PPP (Async) on Solaris 2.x
** 다음 설명은 Serial port "a"를 PPP에 사용하는 것을 전제로 한다. **
1. PPP 구성 전 준비사항
- PPP 와 UUCP가 설치 되어 있는지 확인한다.
# pkginfo | egrep "PPP|UUCP"
system SUNWapppr
system SUNWapppu
system SUNWbnur
system SUNWbnuu
system SUNWpppk
- 설치되어 있지 않다면 pkgadd 또는 swmtool을 사용하여 설치한다.
. OS CD를 CDROM Driver에 넣은 후 /cdrom이 mount되었는지 확인하고 mount가 되어 있으면 "/cdrom/cdrom0/s0/Solaris_2.4" Directory로 가서 아래 명령을 실행한다.
# mount (cdrom이 mount되어 있지 않으면 아래와 같이 mount한다)
# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom
# pkgadd -d $cwd SUNWpppk SUNWapppr SUNWapppu SUNWbnur SUNWbnuu
. 설치가 끝나면 System을 Rebooting 한다.
. 주의할 사항은 pkgadd 명령 수행시 package의 설치순서를 위와 같이 하여야 한다. 순서가 바뀌면 설치 후 ipdptp0 등의 interface가 생성되지 않을 수 있다.
- 사용할 Serial Port를 admintool을 이용하여 "Bidirectional" 으로 Setting 한다.
. speed = 19200
. Modem 사용 중 disconnect 되고, 재 연결 시 접속이 안될 때 서버에서 Admintool로 해당 Port에 대해 재 설정 후 사용해 볼 것
- EEPROM의 지정값을 확인한다. 아래와 같이 값을 지정한다.
# eeprom | grep ttya
ttya-rts-dtr-off=true
ttya-ignore-cd=false
ttya-mode=9600,8,n,1,-
(결과가 위와 같지 않으면 아래 명령을 실행한다)
# eeprom ttya-rts-dtr-off=true
# eeprom ttya-ignore-cd=false
# eeprom ttya-mode=9600,8,n,1,-
. eeprom의 speed값과 실제 Modem 속도의 상관관계는 없는 것 같다?
- EEPROM의 값이 변경되었으면 System을 Rebooting 한다.
- Dial-Out을 할 수 있도록 /etc/remote File에 아래 내용을 추가한다.
cuaa:dv=/dev/cua/a:br#9600
- Modem이 hardward flow control을 사용하도록 지정한다.
# tip cuaa
ats0=1; answer mode - Bell이 1번 울리면 자동응답
at&w0&w1
~. ; 타이핑 문자는 화면에 안보임
- 외부에서 일반 통신 Program으로 PPP Server에 연결하여 Login Message가 떨어지는지 확인한다.
2. Setting PPP as Point-to-point Dial-In Server
- 현재 사용하는 Primary Ethernet address와 같은 Subnet의 IP address중 2개를 선택하여 하나는 PPP Server에 다른 하나는 remote PC에 지정한다.
예) 147.6.9.9 ppp_server
147.6.9.10 ppp_pc
- 위의 내용을 /etc/hosts File과 DNS(If you use) 에 각각 등록한다.
- PPP 사용자 ID를 만든다.
예) /etc/passwd
pppuser:x:13:60001:PPP User:/:/usr/sbin/aspppls
/etc/shadow
pppuser:RITzeWAL73UWQ:9321::::::
- /etc/asppp.cf File에 아래와 같은 내용을 추가한다.
ifconfig ipdptp0 plumb ppp_server ppp_pc netmask + up
ifconfig ipdptp0 mtu 1500
path
ipcp_async_map 0
inactivity_timeout 90000
interface ipdptp0
peer_system_name pppuser
- 새로운 interface에 대하여 "arp" 값을 지정한다.
현재 사용하는 Ethernet Address를 찾아서 remote PC의 이름에 아래와 같이 지정한다.
# ifconfig -a | grep ether
ether 8:0:20:12:90:be
# /usr/sbin/arp -s ppp_pc 8:0:20:12:90:be pub
# /usr/sbin/arp -a
le0 mong 255.255.255.255 SP 08:00:20:12:90:be
le0 ppp_pc 255.255.255.255 SP 08:00:20:12:90:be
위와 같이 해야 ppp_pc로 부터 ppp_server를 통해 외부의 다른 System으로 연결이 가능하다.
- System Booting 시 위의 내용이 인식되도록 /etc/rc3.d에 Fuke을 만들어 아래의 내용을 지정한다.
# echo "/usr/sbin/arp -s ppp_pc 8:0:20:12:90:be pub" > /etc/rc3.d/Sarp_ppp
# chown root /etc/rc3.d/Sarp_ppp
# chmod 755 /etc/rc3.d/Sarp_ppp
- PPP Server System에 "in.routed" daemon이 돌고 있다면, rip routing 정보가 ipdptp0 쪽으로 뿌려지지 않도록 아래 내용을 /etc/gateways File에 넣는다.
norip ipdptp0
* 만약 ROUTING Deamon이 없는 상태면 "in.routed -s"를 실행시켜 줘야 한다.
- PPP process를 start 한다(System Booting 시에는 자동으로 start된다.)
# /etc/init.d/asppp start
- 다음 사항들을 확인해 본다.
# ps -ef |grep asppp
# tail /var/adm/log/asppp.log
# arp -a
# ifconfig -a
# netstat -rn |grep ipdptp0
- PC 에서 trumpet Winsock 이나 netmanage's Chameleon_Sampler를 이용하여 ppp_server에 연결해 본다. PC에 자신의 IP 주소는 ppp_server에 지정된 값(147.6.9.10)으로 정한다. PC에서 Dial-Out을 하여 ppp_server에 connected되면 PPP User ID로 login한 후 [Esc] Key를 치면 PPP Enable 된다.
* routing daemon 이 돌고 있는지 꼭 확인하고, 없으면, 실행할 것
* pc쪽에서 해줘야 할 부분
gateway를 ppp_server로 하고, DNS Server는 기존 것을 그대로 설정해주면 된다.
3. Setting PPP as a Multipoint Dial-In Server
- 다음 설명은 아래와 같은 Network 구성을 전제로 한다.
- 현재 사용하지 않는 Network 주소를 PPP 용으로 할당하여 각 PC와 PPP Server에 할당한다.
예) 147.6.33.100 ppp_server
147.6.33.1 pc1
147.6.33.2 pc2
147.6.33.3 pc3
- 위의 내용을 /etc/hosts File과 DNS(If you use) 에 각각 등록한다.
- PPP 사용자 ID를 만든다.
예) /etc/passwd
pppuser:x:13:60001:PPP User:/:/usr/sbin/aspppls
/etc/shadow
pppuser:RITzeWAL73UWQ:9321::::::
- /etc/asppp.cf File에 아래와 같은 내용을 추가한다.
ifconfig ipd0 plumb ppp_server netmask + up
ifconfig ipd0 mtu 1500
#
Path
interface ipd0
peer_system_name pppuser
peer_ip_address pc1
ipcp_async_map 0x000a0000
default_route
Path
interface ipd0
peer_system_name pppuser
peer_ip_address pc2
ipcp_async_map 0x000a0000
default_route
Path
interface ipd0
peer_system_name pppuser
peer_ip_address pc3
ipcp_async_map 0x000a0000
default_route
- PPP Server에서 새로운 Network에 대한 Routing 정보가 다른 Host들에게 broadcast 되도록 Routing daemon을 살린다.
# in.routed
- rip routing 정보가 ipdptp0 쪽으로 뿌려지지 않도록 아래 내용을 /etc/gateways File에 넣는다.
norip ipdptp0
- PPP process를 start 한다(System Booting시에는 자동으로 start된다.)
# /etc/init.d/asppp start
- 다음 사항들을 확인해 본다.
# ps -ef |grep asppp
# tail /var/adm/log/asppp.log
# ifconfig -a
# netstat -rn |grep ipd0
- PC 에서 trumpet Winsock 이나 netmanage's Chameleon_Sampler를 이용하여 ppp_server에 연결해 본다. PC에 자신의 IP 주소는 ppp_server에 지정된 값(147.6.33.1 ~ 3) 중 하나로 정한다.
PC에서 Dial-Out을 하여 ppp_server에 connected되면 PPP User ID로 login한 후 [Esc] Key를 치면 PPP Enable 된다.
※ Q&A
Q) PPP User로 login후 기존 server(PPPserver/해당host)외 다른 Host로의 Network이 안 이루어진다.
A) #ndd -set /dev/ip ip_forwarding 1 ---> ip의 forwarding Setting
#ndd -get /dev/ip ip_forwarding ---> ip forwarding 확인("1"로set되어야 함)
14.2 적용예제
환경 : E3000, 56K Modem(US_Robotics)x2을 Serial A/B Port에 접속
Server domainname/IP : munhwa.kongju-c.ac.kr/203.232.160.5
1. Server에 Modem 접속 - 38400bps
2. IP 할당(3개) 및 전화번호할당(2개)
PPP서버 name/IP : pppserver/203.232.160.7
Remote PC name/IP : pc1/203.232.160.8
Remote PC name/IP : pc2/203.232.160.9
전화번호1 : 000-0000
전화번호2 : 000-0000
3. PPP 등록 - /etc/hosts & DNS_table
4. PPP user 등록 (/etc/passwd & /etc/shadow)
pppuser1:x:1001:10::/:/usr/sbin/aspppls <--- /etc/passwd
pppuser2:x:1002:10::/:/usr/sbin/aspppls <--- /etc/passwd
ex) password는 sunsun
5. /etc/asppp.cf 편집
ifconfig ipdptp0 plumb pppserver pc1 netmask + up
ifconfig ipdptp0 mtu 1500
path
ipcp_async_map 0
inactivity_timeout 90000
interface ipdptp0
peer_system_name pppuser1
ifconfig ipdptp1 plumb pppserver pc2 netmask + up
ifconfig ipdptp1 mtu 1500
path
ipcp_async_map 0
inactivity_timeout 90000
interface ipdptp1
peer_system_name pppuser2
6. arp값 지정
# ifconfig -a | grep ether
ether 8:0:20:79:a9:8d
# /usr/sbin/arp -s pc1 8:0:20:79:a9:8d pub ①
# /usr/sbin/arp -s pc2 8:0:20:79:a9:8d pub ②
# /usr/sbin/arp -a
hme0 munhwa.kongju-c.ac.kr 255.255.255.255 SP 08:00:20:79:a9:8d
hme0 pc2.kongju-c.ac.kr 255.255.255.255 SP 08:00:20:79:a9:8d
hme0 pc1.kongju-c.ac.kr 255.255.255.255 SP 08:00:20:79:a9:8d
7. arp값 지정의 ① & ② 줄을 /etc/rc3.d/Sarp_ppp 에 넣는다.
만들고 난 후,
# chown root /etc/rc3.d/Sarp_ppp
# chmod 755 /etc/rc3.d/Sarp_ppp
8. rip routing 정보가 ipdptp0 과 ipdptp1 에 뿌려지지 않도록 아래 File 편집
# more /etc/gateways
norip ipdptp0
norip ipdptp1
9. routing daemon이 없다면 "in.routed -s"를 실행
10. PPP process를 start
# /etc/init.d/asppp start
11. 다음과 같이 확인
# ps -ef|grep asppp
# tail /var/adm/log/asppp.log
# arp -a
# ifconfig -a
# netstat -nr | grep ipdptp0 or 1
12. pc1에서 새로 부여된 자신의 ip 등록하고 gateway 는 pppserver의 IP를 등록
DNS는 기존 DNS인 munwha(203.232.160.5)를 설정 후, PC에서 dial-out 하여 pppserver에 connected되면 pppuser 로 login하고, Password에서 이미 정한 sunsun으로 입력하고, login후 [ESC]를 누르면 PPP가 Enable 상태.
'Operating System > Solaris' 카테고리의 다른 글
| POWER ADMIN for SUN (VI Editor) (0) | 2007/08/05 |
|---|---|
| POWER ADMIN for SUN (Unix C-Shell Programming) (0) | 2007/08/04 |
| POWER ADMIN for SUN (sed) (0) | 2007/08/03 |
| POWER ADMIN for SUN (AWK) (0) | 2007/08/02 |
| POWER ADMIN for SUN (System Tuning) (0) | 2007/08/01 |
| POWER ADMIN for SUN (PPP) (0) | 2007/07/31 |
| POWER ADMIN for SUN (FTP) (0) | 2007/07/30 |
| POWER ADMIN for SUN (NFS) (0) | 2007/07/29 |
| POWER ADMIN for SUN (DNS) (0) | 2007/07/28 |
| POWER ADMIN for SUN (POP Server) (0) | 2007/07/27 |
| POWER ADMIN for SUN (Mail) (0) | 2007/07/26 |