Operating System/Solaris2007/07/31 00:17

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 상태.

Creative Commons License

'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
Posted by BLUEDAY™