#### .slirprc file #### add ptyexec /usr/bin/tcsh -l:10.0.2.1:23 compress baudrate 38400 #### end
"compress"는 CSLIP 프로토콜을 사용할수 있도록 해준다. "add ptyexec"명령어는 "shell"명령어 대신에 사용된것이다. (명령어 리스트는 SLiRP의 dosc/CONFIG를 보라.)
왜냐하면 "tcsh -l"(".login"에서) 을 사용하는것 보다 좋으며,"shell"명 령어는 flag들을 받아들이지 않기 때문이다.(난 그렇게 믿는다.) 당신은 리모트 시스템에서 "tcsh"프로그램에 의해 특화된 주소를 사용해야 한다.(또는 당신이 좋아하는 쉘이나..) "baudrate"는 당신의 모뎀 연결에 알맞은 속도를 사용해야한다.
당신의 서버(remote system)에 로긴한후
% bin/slirp (또는 "./slirp"라고 입력한다.:화일 위치에 따라 다르다.)
당신은 마지막 줄에 다음과 같은 메시지를 얻어야한다.
[talking CSLIP, MTU 1500, MRU 1500, 38400 baud]
"slirp"를 끝내기 위해서는 "0"을 천천히 다섯번 누른다.(1초보다 작은 간격으로)
근본적으로,당신은 커널에서 CSLIP과 네트웍 작동이 가능하도록 준비하는 행동을 해야 한다.그런후 당신은 네트웍 셋팅을 해야 한다."src/linux"에서 "make config" 를 한후 다음과 같은 곳에 "y"를 해준다.
Networking support (CONFIG_NET) [y]
TCP/IP networking (CONFIG_INET) [y]
Assume subnets are local (CONFIG_INET_SNARL) [y]
Network device support? (CONFIG_NETDEVICES) [y]
Dummy net driver support (CONFIG_DUMMY) [y]
SLIP (serial line) support (CONFIG_SLIP) [y]
CSLIP compressed headers (CONFIG_SLIP_COMPRESSED) [y]
PPP (point-to-point) support (CONFIG_PPP) [y]
나는 3c509 Ethernet card를 사용한다.따라서 다음과 같은 옵션을 첨가 했다.
3COM cards (CONFIG_NET_VENDOR_3COM) [y]
3c509/3c579 support (CONFIG_EL3) [y]
NFS 설치를 위해 당신은 다음과 같이 첨가할수 있다.
NFS filesystem support (CONFIG_NFS_FS) [y]
"make config"를 성공적으로 마친후,"make dep;make clean;make zlilo"를 통해 커널 컴파일을 수행한다.
네트웍 설정에 있어서 가장 먼저 어떤 IP 주소를 사용할것인가 결정해야 한다. 만약 당신의 주소가 부족하다면,RFC1597(역자:이것이 뭔지 모름 ^^;)에 의해 로칼 네트웍에 허락된 192.168.1.100을 적어준다.
물론 당신은 NET-2-HOWTO 를 읽음으로써 더 정확한 정보를 얻을수 있으나,다음과 같이 하면 가능할 것이다.
A."yourhost.linux.org"와 같이 당신의 시스템에 네트웍 이름을 부여한다. 세개의 이름은 당신의 입맛에 맞게 골라라 :) "/etc/HOSTNAME"에 위에서 설정한 이름을 적어넣는다.
B."/etc/hosts"에 다음과 같이 적어넣기 바란다.
192.168.1.100 yourhost.linux.org yourhost
위에서 "yourhost.linux.org"는 A 번째에 적은 이름과 같아야 한다.
C.만약 로컬 이더넷을 실행한다면(If you run local Ethernet) 다음을 "/etc/networks"에 적기 바란다.
yournet 192.168.1.0
D./etc/rc.d 디렉토리에 있는 "rc.inet1" 에 다음을 설정한다.
IPADDR=yourhost NETMASK="255.255.255.0" NETWORK=yournet BROADCAST="192.168.1.255"
그런후,만약 실제 이더넷카드를 가지고 있다면 다음에 해당하는 행의 주석처 리된것을 지워라.
/sbin/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST} /sbin/route add -net ${NETWORK} netmask ${NETMASK}
E.당신의 두네임인 "linux.org"(A 참고)를 "/etc/resolv.conf"에 다음과 같이 적어 넣는다.
domain linux.org
마지막으로 당신의 시스템을 리부팅하면 된다.
syslogd(8) 이 실행된다면 가장먼저 부팅메시지를 보거나,"/usr/adm/messages" 화일을 살펴보라.당신은 다음과 같은 메시지를 볼수 있을것이다.
IP Protocols: ICMP, UDP, TCP PPP: version ... TCP compression ... PPP line discipline registered. SLIP: version ... CSLIP: code copyright ...
만약 당신이 이더넷 인터페이스를 가지고 있다면 마찬가지로 다음과 같이 인식될 것이다.
eth0: 3c509 at 0x280 ...
당신의 네트웍은 설정되었고 약간의 명령어를 통해 테스트할수 있다.
A.아무 옵션없이 "ifconfig"를 실행하면,당신은 "lo"(loopback)인터페이스가 활성화된것을 주소와 함께 확인할 수 있다.만약 당신이 실제 이더넷을 운용 중이라면,"eth0" 인터페이스 정보도 볼수 있을것이다. 그리고 "inet addr: 192.168.1.100"등과 같은 눈에 익은 주소를 확인할 수 있다.
B.아무런 옵션없이 "route"를 실행하면,"loopback"과 "yournet"에 해당하는 줄을 볼수 있다.
이제 당신의 리눅스 시스템은 CSLIP과 함께 일할 준비를 갖췄다.
dip 스크립트 화일은 보통 길며 복잡하다.dip의 "samples" 디렉토리에 약간의 예문이 있다.(아마도 /usr/doc/dip/samples에 깔려있을 것이다.)
아래에 나의 "slirp.dip"를 예로 적어봤다. #### slirp.dip ##### # # slirp.dip Dialup IP script for use with SLiRP and netcom # main: # netmask 를 sl0로 설정한다. netmask 255.255.255.0 # serial port 와 속도를 설정한다. # ttyS2 를 당신의 모뎀 디바이스에 맞게 고쳐야 할것이다. # 나는 이 포트에서 "mgetty"가 잘작동한다.따라서 나는 "cua2" 보다는 "ttyS2"를 # 사용하길 바란다. port ttyS2 speed 38400 # 모뎀과 터미널라인을 다시 셋팅해 준다. # 이부분은 몇몇 사용자들에게서 문제가 생기는듯 하다. reset # 다이알링을 위한 준비단계. # 당신의 모뎀은 이것과 다른 초기화일지 모른다는걸 주의하라. # 내 모뎀은 WorldBlazer 이다. send AT S0=0 S11=70 S50=254 S58=2 Q0 V1 E1 X4\r wait OK 2 if $errlvl != 0 goto modem_trouble redial: # 당신의 POP#에 전화를 건다. # 다음 전화번호는 내가 접속하는 POP번호이다. # your mileage may vary(<= 이거 무슨뜻이죠?) send ATDT 274 2900\r wait CONNECT 50 if $errlvl != 0 goto dial_trouble # 연결이 됐다면 시스템에 로긴한다. login: sleep 2 send \n wait ogin: 20 if $errlvl != 0 goto login_trouble print got the login prompt, OK # 밑의 'zenon' 을 당신의 로긴명으로 바꾸기 바란다. sleep 2 send \n # 로긴명을 넣기전에 "\n"을 적어주는 이유를 잘 모르겠다. # 이걸 안적어줬을 경우 작동을 하지 않는다. sleep 2 send zenon\n print sent 'zenon', waiting for 'password' ... wait ord: 30 if $errlvl != 0 goto password_trouble # 아래의 'blablabla'부분에 여러분의 패스워드를 넣어준다. send blablabla\r # 아마도 로긴되었을 것이다. loggedin: # 아래부분을 당신의 쉘 프롬프트로 바꾼다. (내것은 <url url="mailto:zenon@netcomNN" name="zenon@netcomNN" > n%이다.) wait zenon 15 if $errlvl != 0 goto prompt_error # SLiRP가 리모트 machine 의 IP를 10.0.2.2로 가지도록 한다. get $remote 10.0.2.2 # Make sure 'slirp' is found on netcom and is executable # 나는"slirp"가 리모트의 $HOME/bin 디렉토리에 인스톨 되었다구 가정한다. send exec bin/slirp\n # CSLIP 작업 변수를 설정한다.(operating parameters.) get $mtu 1500 # Ensure "route add -net default $remote" will be done # With the dip-3.3.7n it is simple, just say "default" default # Say hello and fire up! <= 이거 어떻게 해석하죠?? ^^; done: print CONNECTED local: $locip ---> remote: $rmtip mode CSLIP goto exit prompt_error: print TIME-OUT waiting for SLIPlogin to fire up... goto error login_trouble: print Trouble waiting for the Login: prompt... goto error password_trouble: print Trouble waiting for the Password: prompt... goto error modem_trouble: print Trouble occurred with the modem... goto error dial_trouble: print Trouble occurred while dialing... error: print CONNECT FAILED to $remote quit exit: exit #### end
참고:위의 스크립트중에서 다음에 해당되는 사항은 여러분에게 알맞게 고치도록 한다.
- 포트 이름 (나는 ttyS2를 사용한다.) - 포트 속도 (나는 38400으로 사용한다.) - 모뎀 초기화 문자 (내가 사용하는 것은 WorldBlazer이다.) - POP's 전화번호 (내것과 다르길 바란다 :) - 로긴명 - 암호 - 프롬프트(확실히 로긴되었을때) - "slirp"의 위치 (내것은 $HOME/bin이다.)
당신은 다음과 같이 verbose(어떻게 해석해야 하나? ^^;) 상태로 "dip"을 시작할수 있다.
% dip -v slirp.dip
The messages printed by the "dip" may suggest some modifications to the above "slirp.dip" script. ( "dip"에 의해 나타나는 메세지는 위의 "slirp.dip" 스크립트에 의해 변경된 사항을 제시할 것이다.?)
모든것이 잘된다면 당신은 다음과 같은 메시지를 마지막에서 볼수 있을 것이다.
CONNECTED local: 192.168.1.100 ---> remote: 10.0.2.2
"dip" 스위치들은 "daemon"과 같이 실행되며,당신의 프롬프트로 돌아온다.(??) 그런데 "dip"을 지금 바로 멈추려면,단지 "dip -k"라고 두드리기만 하면 "dip"은 취소될 것이고,모뎀연결도 취소될 것이다.