Superkkt Blog

-1- ADSL 설치와 연결

준비 : gcc-3.2 or Sun Forte C Compiler , compiled-sparcv9-pppd-2.4.1.tar (Forte C로 컴파일 된 pppd 바이너리), pppd-2.4.1 , rp-pppoe 2.8

참고 : 15.txt
리소스 :
http://www.sunfreeware.com <-- gcc
http://www.sun.com <-- Sun Forte C Compiler

http://www.roaringpenguin.com/pppoe/ <-- rp-pppoe

http://playground.sun.com/pppd/download.html <-- pppd
ftp://superp4@myftp.hananet.net <-- compiled-sparcv9-pppd-2.4.1.tar



먼저 make와 gcc가 설치되어 있고 패스도 지정되어 있어야 한다.

gcc의 경우 2.95.3 버전도 무난하게 컴파일 된다. (인텔의 경우는 이비컴 CD에서 설치 한다.)




@ pppd
(단, 스팍에서 이것을 컴파일 할때는 Sun Forte C Compiler가 있어야 한다. 스팍에서 쓸 경우 다른 컴파일러로컴파일 하면 64bit로 컴파일 되지 않기 때문에 make install 에서 커널에 pppd를 적재하는데 실패한다.)


* - /pppd/Makefile.sol2 , /svr4/Makefile.sol2 , /solaris/Makefile.sol2 세개의 파일 모두 COPTS라는 단어가 있는 부분을 주석처리한다.

* - /svr4/Makedefs , /solaris/Makedefs를 열고 처음에 보이는 COPTS를 주석처리하고 마지막에 CC=gcc 와 COPTS=-02 부분의 주석을 해제한다.
( 위의 *친 두줄은 인텔용에서 gcc로 컴파일 할 때만 한다. 스팍에서 Forte로 컴파일 할 경우는 위의 *친 부분은 생략한다.)

- 원래 디렉토리로 돌아와서 ./configure

- make

- make install


만약 Forte가 없을 경우는 전에 Forte Compiler로 컴파일 했던 바이너리를 tar로 묶어 놓은 것이 있다. (compiled-sparcv9-pppd-2.4.1.tar)
이것을 설치하고 나서 아래의 명령어로 커널에 pppd를 적재시켜 준다.

# tar xvf compiled-sparcv9-pppd-2.4.1.tar
# /usr/sbin/rem_drv ppp 2> /dev/null || true
# /usr/sbin/add_drv ppp
# devfsadm

여기서 어떠한 에러도 발생하지 않으면 정상적으로 커널에 적재된 것이다. 그 후에 rp-pppoe를 컴파일 한다.



@ rp-pppoe (!주의! rp-pppoe는 pppd가 정상적으로 설치 된 후에 컴파일 해야지 정상적으로 ADSL 연결이 된다.)


- /src/install-sh파일을 열어서 stripporg="${STRIPPROG-strip}" , stripcmd="" 이 두 부분을 주석처리 한다.

- 원래 디렉토리로 돌아와서 ./go
- ADSL 설정하고 나중에 adsl-start
(설정에서 아이디는 superp4@hanaro, 스팍에서는 인터페이스가 /dev/hme0 이다.)

- ifconfig -a로 확인해본다.

(인텔에서 컴파일 하면 연결되었는데도 TMIEOUT으로 나온다.)

- /etc/nsswitch.conf파일을 열고 hosts:files 옆에 dns라고 적어준다.

- /etc/resolv.conf를 열고 네임서버 정의해준다.


( 간혹 2.8이 이상한 에러를 내면서 컴파일이 안되면 3.3을 컴파일 해보라. )


*참고*
-ADSL관련 설정 파일

/etc/nsswitch.conf
hosts부분에 dns를 추가해 준다.







-2- IP-Filter

준비 : gcc-3.2 , ip-filter-3.4.29.tar.gz
참고 : 14.txt , 33.txt
리소스 : http://coombs.anu.edu.au/~avalon/ip-filter.html

@ ip-filter

- /etc/init.d/inetinit 파일의 207,217번 줄을 다음과 같이 수정

/usr/sbin/ndd -set /dev/ip ip_forwarding 1

위의 값이 0으로 되어 있으면 포워딩이 금지 되어 있는 것이고, 1은 허용 하는 것이다.
이 파일에서의 변경은 시스템을 재부팅 해야지 적용이 된다. 그러므로 아래의 명령으로 바로 적용 시켜준다.

# ndd -set /dev/ip ip_forwarding 1
# ndd -get /dev/ip ip_forwarding
1
#

아카이브를 해제한 디렉토리에서 아래의 명령으로 설치를 한다.

# make solaris
# cd SunOS5
# make package

ip-filter는 특이하게 설치를 Sun Package로 먼저 구성이 된 후에 pkgadd로 설치가 자동으로 된다.
gcc-3.2로 컴파일을 하면 자동으로 64bit로 설치가 된다.

ip-filter는 /etc/opt/ipf 디렉토리에 설정 파일을 생성하면 되는데 기본적으로 설정되어 있는것은 없다.
여기에 필터링 설정은 ipf.conf에 NAT 설정은 ipnat.conf에 하면 된다.

아래는 기본적인 필터링과 NAT 예제이다.

# vi /etc/opt/ipf/ipf.conf
pass in quick on hme0 from 222.112.137.0/24 to any
pass in quick on hme0 from any to any port = 20
pass in quick on hme0 from any to any port = 21
pass in quick on hme0 from any to any port = 22
block in quick on hme0 from any to any
# 나가는 패킷에 keep state 옵션을 줘야지만 all inbound deny 상태에서도
# 나간 패킷의 응답 패킷이 들어올 수 있다.
pass out quick on hme0 from any to any keep state

# vi /etc/opt/ipf/ipnat.conf
map ppp0 192.168.0.0/24 -> 0.0.0.0/32 proxy port ftp ftp/tcp
map ppp0 192.168.0.0/24 -> 0.0.0.0/32 portmap tcp/udp 40000:60000
map ppp0 192.168.0.0/24 -> 0.0.0.0/32

# 포트 리다이렉팅
rdr ppp0 from any to any port = 2000 -> 192.168.0.2 port 23


# /etc/init.d/ipfboot reload

위의 명령으로 변경 된 설정을 바로 적용 한다.

!주의! 설정 파일에서 네트웍인터페이스를 쓰는 부분에 hme0 또는 elxl0을 쓰면 안된다. ADSL 가상 인터페이스를 적어줘야 한다.
2006/03/19 00:50 2006/03/19 00:50

trackbacks

trackbacks rss

이 글에는 트랙백을 보낼 수 없습니다

Leave a Comment