FreeBSD2015. 2. 9. 17:11

출처 : http://thirdnsov.tistory.com/72

 

우선 root로 /usr/ports/net-mgmt/net-snmp/ 이 경로로 이동하고

make install clean을 친다.

make 명령어를 치고 나면 아래와 같은 화면이 뜨는데 원하는 기능을 선택하고 OK를 선택해준다.(저게 다 정확히 뭐하는지는 모르겠다..)

 

 

OK를 선택하면 마치 yum 처럼 혼자 열심히 다운 받고 설치하기 시작한다.

 

 

그러다 도중에 perl 설치 관련해서 화면이 또 뜨는데 이것도 입맛에 따라 선택하고 OK를 눌러준다.

뭐가 뭔지 모르면 나처럼 그냥 바로 엔터쳐도 된다.

 

 

그러면 또 열심히 perl을 설치하기 시작한다.

 

 

perl까지 설치가 완료가 되면 아래 사진과 같이 깔끔하게 종료가 될 것이다. 깔끔하지 않았다면 뭔가 문제가 있는게 아닐까 싶다.

 

이렇게 하면 FreeBSD에 net-snmp 패키지 설치가 완료 된다.

이후 아주 간단하게 설정을 한번 해보겠다.(나는 RRDTool인 Cacti에 붙게 하기 위해서만 설정해서 다른 기능은 잘 모른다..)

 

일단 snmp 관련해서 설정하는 법은 크게 두 가지가 있는걸로 알고있다.

하나는 직접 snmpd.conf 파일을 수정하는 것

다른 하나는 snmpconf를 이용해 수정하는 것

(snmpconf도 두 가지 방법이 있는데 하나는 -i 옵션으로 원하는 값만 골라서 수정하는 거고 하나는 snmpconf -g basic_setup을 입력하면

설정값 하나하나 step by step으로 모두 직접 설정하는 방법이있다.)

최초 설치 때는 snmpconf가 있는 줄 몰라서 직접 snmpd.conf를 수정했었는데 몇 번 해보면서 snmpconf로 설정하고 마무리로 직접 수정을 병행하고 있다.

물론 여기에는 병행하는 걸 쓸 것이다.(사실 snmpconf만으로 충분히 설정이 되는데 정확한 사용법을 몰라서 직접 수정도 같이 했다..)

 

우선 /usr/local/share/snmp/ 디렉토리에 가보면 snmpd.conf 파일은 없고 snmpd.conf.example이 존재할 것이다.

저 파일은 net-snmp 자체에서 설정값을 예시로 해놓은건데 몇 개 설정값 빼고는 그냥 둬도 되니 cp로 snmpd.conf로 카피해준다.

 

 

복사를 해주고 난 뒤 상위 디렉토리나 다른 아무 디렉토리로 이동하고 snmpconf -i를 입력한다.

(다른 디렉토리로 가는 이유는 정확하진 않는데 snmpd.conf가 있는 디렉토리에서 snmpconf를 실행하면 밑에 사진 처럼 상대 경로와 절대경로로 파일을

스캔해서 같은 snmpd.conf인데 파일이 2개 존재하는 걸로 인식해서 저장이 제대로 되지 않더라..)

(같은 파일을 다른 두 개 파일로 인식하는 문제의 경우)

 

그리고 snmpd.conf.example 파일을 미리 snmpd.conf로 복사 해놨기 때문에 아래 같이 뜰 것이다.

원래는 복사를 안해놔도 되지만 그렇게 되면 모든 설정값을 일일이 해줘야하기 때문에 미리 복사를 해놓았다.

저렇게 파일을 하나만 인식하면 저장이 잘 되니까 놀라지 말고 엔터를 쳐주자

 

엔터를 치면 아래와 같이 화면이 뜨는데 설정할 파일 종류를 선택하는 화면이다.

우리가 설정할 파일은 snmpd.conf 니까 당연히 1번을 누르고 엔터를 친다.

(아래 스샷은 snmpd.conf를 복사하기 전에 찍어서 위 사진 같은 말이 없는 것)

 

 

1번을 고르면 또 다시 선택지가 나오는데 이제서야 진짜 설정을 하기 시작한다.

궁금하면 하나씩 다 들어가서 설정해도 되지만.. 무턱대고 아무거나 설정해버리면 나중에 snmpd가 안올라가는 상황이 발생할 수도 있다.

이 선택지들 중에서 내가 하려는 Cacti를 위해 필요한 번호는 2, 3, 6번이다.

우선 2를 누르고 엔터를 치자

 

 

Access Control Setup을 선택하면 아래 처럼 또 다시  선택지가 나오는데

쉬운 영단어로 되있어서 금방 파악할 것이다.

1번은 SNMPv3 에서 읽고쓰기 권한을 갖는 유저 설정

2번은 SNMPv3 에서 읽기 권한만 갖는 유저 설정

3번은 SNMPv1/v2 에서 읽기 권한만 갖는 커뮤니티 이름 설정

4번은 SNMPv1/v2 에서 읽고쓰기 권한을 갖는 커뮤니티 이름 설정

여기서 cacti에 손 쉽게 붙이려면 3번을 선택해서 커뮤니티 이름을 설정해준다.

 

 

3번을 선택하면 먼저

The community name to add read-only access for:

라고 질의를 던진다. 그러면 원하는 커뮤니티 이름을 적고 엔터. cacti에서 기본 커뮤니티 이름은 public기 때문에 나는 public을 입력했다.

다음으로 The hostname or network address to accept this community name from [RETURN for all] 라고 바로 나온다.

그러면 cacti나 다른 RRDTool을 사용하고 있는, 즉 이 컴퓨터를 모니터링할 컴퓨터의 hostname이나 IP주소를 입력해준다.

나는 cacti가 설치되있는 컴퓨터의 IP를 입력해줬다.

그리고 나면 마지막 줄에 OID를 입력하라고 뜨는데 이건.. 정확히 뭔지 모르겠다..

OID라는 건 어느 정도 알겠는데 정확히 뭘 설정하는건지는 모르겠다..

(아시는분은 가르침을 부탁드립니다 ㅠ)

 

 

이렇게 Access Control Setup 란에서 설정하는 건 끝났다.

그럼 이제 finished를 입력하고 다시 초기 선택지 화면으로 돌아가준다.

돌아왔으면 이제 3을 누르고 엔터를 쳐주자

 

 

이번엔 Trap Destinations 관련 설정을 하는건데 Trap에 대한 정확한 개념을 몰라서 여기다 적기엔 부족하다..

아마 특정 이벤트에 대해 뭔가 작동하는 걸텐데.. 궁금하신 분은 따로 검색해보시는 걸 추천..!

어쩄든 여기 선택지에서 설정해줄 것은 2번인 A SNMPv2c trap receiver 이다.

2를 누르고 엔터를 치자

 

 

그럼 아까 커뮤니티 이름 설정하는 것 처럼 한 줄씩 질의를 던진다

맨 처음 Trap정보를 받을 host의 이름을 입력하고 뜨는데 이 것 역시 cacti가 설치된 host의 IP를 써주면 된다.

그리고 엔터를 치면 커뮤니티 이름을 쓰라고 나오는데 아까 위에서 설정했던 이름을 입력해주면 되고

마지막에는 사용할 포트를 입력하라고 나오는데 아무 것도 입력안하고 엔터를 치면

SNMP 기본값인 161포트가 설정이 된다.

 

 

다 입력했으면 다시 finished를 입력하고 초기 선택지 화면으로 돌아간다.

이제 마지막 6번 관련 설정을 하면 된다. 6을 누르고 엔터 ~

 

6번인 Agent Operationg Mode 에 진입하면 아래와 같이 뜨는데 1, 2, 3번에 대한 기능은 정확히 모르겠다..

설정을 한 번 해봤는데 딱히 다른 점을 모르겠더라..(저장이 안됬었나)

무튼 여기서 4번을 선택해준다.

 

 

4번을 선택하면 역시나 바로 질의를 던지는데 snmpd.conf에서 agentaddress 설정을 하는 곳이다.

통신 할 때 사용할 프로토콜이랑 포트 관련 설정을 하는 것이다.

사진에 udp:161이라고 입력했는데 이는 통신할 때 UDP를 사용하고 모든 네트워크에 대해 포트는 161을 사용하겠다는 의미다.

나는 모든 네트워크 말고 특정 네트워크만 설정해주고 싶어서 IP를 입력해봤지만 snmp 데몬이 실행이 안됬었다..

arguments를 보면 [transport:]port[@interface/address]라고 되어있는데

이 형식으로 입력하면 snmp 데몬이 실행이 안된다..혹여 잘 못입력한 건가 하고 검색을 해봤지만

저 형식으로 입력하는 사람을 보질 못했다..(내가 틀리게 한 걸 수도)

agentaddress 입력값에 대해 자세한 내용은

man 8 snmpd 를 참고하길 바란다.(거기 나온대로 해도 안되더라 ..)

 

 

이제 finished를 입력하고 마지막에 quit를 입력해주면 저장이 됬다고 출력될 것이다.

이렇게 하면 snmpconf로 필요한 설정을 다 해줬다..

더 해줘야 할게 있을 수도 있을테지만 적어도 Cacti 사용에는 문제가 없었다.

아 한 가지 빼먹은게 마지막에 agentaddress를 설정을 하고 나서 snmpd.conf를 수정해줘야한다.

snmpd.conf.example에 agentaddress가 최초에 udp:127.0.0.1:161로 정의되어있는데

이 라인을 지우거나 주석처리 해줘야 충돌없이 실행된다.

아마 snmpconf에서 지울 수 있지 않을까 싶은데 못 찾겠더라..

 

 

이렇게 수정하고 저장하면 일단 대략적인 설정 끝!

좀 더 세세하게 설정하고 싶은 분들은 구글링을 추천한다..

국내 블로그에 그렇게 많은 내용이 포팅되어 있지는 않아서..

이제 snmp를 실행해야하는데 그 전에 마지막으로 한 가지 더 해줘야할 것이 있다.

vi나 기타 에디터로 /etc/rc.conf를 열어 snmpd_enable="YES" 를 입력하고 저장해준다.

이걸 해주지 않으면 실행은 시킬 수 있으나 .. 해주는게 실행할 때 오류도 없고 나중에 편하다..

이제 /usr/local/etc/rc.d/snmpd start를 입력해주면 snmpd가 시작한다.

아마 net-snmp를 설치하자 마자 snmpd가 시작되어있을 수도 있다.

start나 restart를 사용하자.

아래처럼 깔끔하게 시작이 됬다면 설정 한 값이 시작하는데 크게 문제되는 것은 없는 것이다.

 

 

정상적으로 시작 되었으니 제대로 돌고 있는지 확인해보자

sockstat -4 -l | grep 161 를 입력해준다.(왜냐고 물어보지 않길)

netstat를 사용해도 된다.

 

 

다 됬으니까 이제 SNMP를 설치한 진짜 목적인 Cacti에서 접근이 되는지 확인해보자

간단하게 사진 두장으로 보겠다.

바로 아래 사진을 보면 hostname에 방금 SNMP를 설치한 host IP주소가 입력되있고

그 밑으로 SNMP Version 2가 선택되어있고 커뮤니티 이름으로 public, 사용 포트로 161이 입력되있다.

 

 

저렇게 제대로 값을 입력하고 Create를 눌렀을 때 아래와 같이 뜨면 성공한것이다.

 

Posted by 배움나눔
FreeBSD2012. 5. 11. 10:34

출처  : http://mirrorscope.blog.me/120041416008 (2007년 8월 자료)

 

Freebsd의 application 설치에 대해 간략히 살펴보자.

 

Linux의 경우는 RPM의 형태로 설치가 쉽게 App가 발표되지만,

Freebsd의 경우는 Ports 시스템을 이용하게 된다.

 

Ports 시스템은 각 App들의 설치정보를 가지고 있다.

Download 사이트나 설치옵션설정등의 정보를 기록해 놓음으로서 좀더 간편하게 App를 설치할 수 있게 한다. ports 시스템의 장점은 의존성이 있는 패키지를 설치할때 의존관계가 있는 모든 Ports를 자동으로 설치해준다는 점이다. 그리고 컴파일된 화일이 패키지되어있지 않으며, 소스를 스스로 다운받아 시스템에 맞게 컴파일해준다는 점이다.

 

우선 Ports의 정보를 최신정보로 update 해보자.

Ports 정보를 업데이트 하기위해서는 cvsup라는 App가 필요하다.

pkg_add를 이용하여 설치하거나 sysinstall을 이용하여 설치하자.

Freebsd 6.2 부터는 csup라는 명령이 추가되었으므로 cvsup가 필요치 않다.

 

우선 ports 환경화일을 /root 에 복사하여, cvsup 서버를 지정해보자.

 

 

# cp /usr/share/examples/cvsup/ports-supfile /root

# vi ports-supfile

 

...

*default host=CHANGE_THIS.FreeBSD.org  <- 붉은 부분을 cvsup.kr 로 변경한다.
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix

...

 

수정이 끝났다면 아래 명령을 입력해보자. 시간이 꽤나 걸린다.

 

# /usr/local/bin/cvsup -g -L 2 /root/ports-supfile

 

csup를 사용한다면 다음과 같이 될 것이다.

# /usr/bin/csup -g -L 2 /root/ports-supfile

 

update가 끝났다면 이제 Ports를 설치해보자.

shell 중 하나인 bash를 설치하도록 하자.

우선 Ports가 어디에 있는지 찾아서 해당디렉토리로 이동한다.

 

# whereis bash

bash: /usr/ports/shells/bash

 

#cd /usr/ports/shells/bash

#ls

Makefile        distinfo        files           pkg-deinstall   pkg-descr       pkg-install     pkg-plist

 

위 와 같은 화일 목록이 있다.

설치는 간단하다. make install 만 치면 설치가 진행된다. 옵션을 선택하는 경우도 install 옵션을 주면 된다. 하지만 install로 옵션을 진행한다면, 옵션을 변경할 수가 없다. 옵션을 선택할 경우는 make config 명령으로 옵션을 조정하자. 그러면 선택창이 나타날 것이다.

 

# make config

===> No options to configure

 

bash의 경우는 설정할 옵션이 없다. 설치를 해보자.

 

# make install clean

# make install clean
===>  Vulnerability check disabled, database not found
=> bash32-020 doesn't seem to exist in /usr/ports/distfiles/bash.
=> Attempting to fetch from http://ftp.gnu.org/gnu/bash/bash-3.2-patches//.

     bash-3.2.tar.gz                               100% of 2470 kB  247 kBps

.......

.......

 

 

필요한 source를 다운 받기 시작하며, 다운이 끝나면 설치가 시작된다. 의존성이 있는 패키지라면 필요한 패키지도 자동으로 다운받아 설치 하게 된다.

 

설치가 끝났다. pkg_info명령으로 확인해보자.

# pkg_info
apache-2.2.6        Version 2.2 of Apache web server with prefork MPM.
autoconf-2.59_3     Automatically configure source code on many Un*x platforms
autoconf-wrapper-20070404 Wrapper script for GNU autoconf
bash-3.2.25         The GNU Project's Bourne Again SHell

bigreqsproto-1.0.2  BigReqs extension headers
bsdpan-DBD-mysql-4.005 DBD::mysql - MySQL driver for the Perl5 Database Interface

...............

 

pkg가 추가된 것을 확인 할 수 있다. 그리고 Ports 나 Pkg_add를 이용하여 설치된 패키지의

설정화일은 /usr/local 디렉토리 아래 설치된다.

Posted by 배움나눔
FreeBSD2012. 5. 10. 16:55

출처 : http://blog.heisice.com/entry/FreeBSD와-리눅스에-SNMP-설치

 

- net-snmp 설치

#cd /usr/ports/net-mgmt/net-snmp
#make install clean

- 환경 설정

#vi /etc/rc.conf

snmpd_enable="YES"
snmpd_flags="-a -p /var/run/snmpd.pid"
snmptrapd_enable="YES"
snmptrapd_flags="-a -p /var/run/snmptrapd.pid"

- SNMP 환경 설정

#cp /usr/local/share/snmp/snmpd.conf.example /usr/local/share/snmp/snmpd.conf
#vi /usr/local/share/snmp/snmpd.conf

- SNMP START

#/usr/local/etc/rc.d/snmptrapd start
#/usr/local/etc/rc.d/snmpd start

 

Posted by 배움나눔
FreeBSD2012. 5. 10. 12:12

# vi /etc/ssh/sshd_config

 

아래내용 #PermitRootLogin no 를 검색 하여 주석 제거 및 yes 로 변경

 

변경전
# Authentication:

 

#LoginGraceTime 2m
#PermitRootLogin no

#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

 

변경후

# Authentication:

 

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

Posted by 배움나눔
FreeBSD2012. 5. 10. 12:07

정보 확인

# fdisk

namtop# fdisk

[출력창]
******* Working on device /dev/da0 *******
parameters extracted from in-core disklabel are:
cylinders=3916 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=3916 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 62910477 (30718 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

FreeBSD disk 사용량 확인

# df -h

namtop# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/da0s1a     27G    1.9G     23G     7%    /
devfs          1.0K    1.0K      0B   100%    /dev

 

 

Posted by 배움나눔
FreeBSD2012. 5. 9. 11:50

출처 : http://hbesthee.tistory.com/584

 

freebsd-update로 간단하고 손쉽게 패치들을 적용할 수 있게 되었습니다.

커널을 업그레이들 하려면, 다음과 같은 순서로 작업을 합니다.

  1. 모든 패키지가 최신으로 업그레이드 되어 있고, 잘 설치되는지 확인 : portupgrade -af
  2. 커널의 메이저 및 마이너 업그레이드를 위하여 패치 파일 다운로드 : freebsd-update -r 7.2-RELEASE upgrade
  3. 패치 적용 : freebsd-update install
  4. 재부팅 한 이후에 다시 남은 패치 적용 : freebsd-update install
  5. 패키지에 문제가 있으면, 패키지 재 설치

# portupgrade -f ruby
# rm /var/db/pkg/pkgdb.db
# portupgrade -f ruby18-bdb
# rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db
# portupgrade -af

저의 경우 다음과 같은 오류가 발생하였었습니다.

stone# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching public key from update4.FreeBSD.org... failed.
Fetching public key from update5.FreeBSD.org... failed.
No mirrors remaining, giving up.



원인을 분석하기 위해서 7.2 Release 버전에 대한 공개키를 받는 것에 문제가 없는지 확인합니다.

stone# fetch -vvv http://update1.FreeBSD.org/7.2-RELEASE/i386/pub.ssl
scheme:   [http]
user:     []
password: []
host:     [update1.FreeBSD.org]
port:     [0]
document: [/7.2-RELEASE/i386/pub.ssl]
---> update1.FreeBSD.org:80
looking up update1.FreeBSD.org
connecting to update1.FreeBSD.org:80
requesting
http://update1.FreeBSD.org/7.2-RELEASE/i386/pub.ssl
>>> GET /7.2-RELEASE/i386/pub.ssl HTTP/1.1
>>> Host: update1.FreeBSD.org
>>> User-Agent: fetch libfetch/2.0
>>> Connection: close
>>>
<<< HTTP/1.1 200 OK
<<< Date: Tue, 02 Jun 2009 13:20:01 GMT
<<< Server: Apache/1.3.41 (Unix)
<<< Cache-Control: max-age=60
<<< Expires: Tue, 02 Jun 2009 13:21:01 GMT
<<< Last-Modified: Sat, 02 May 2009 18:02:40 GMT
last modified: [2009-05-02 18:02:40]
<<< ETag: "702e56-320-49fc8ac0"
<<< Accept-Ranges: bytes
<<< Content-Length: 800
content length: [800]
<<< Connection: close
<<< Content-Type: text/plain
<<<
offset 0, length -1, size -1, clength 800
remote size / mtime: 800 / 1241287360
pub.ssl                                       100% of  800  B 2158 kBps

freebsd-update
의 디버깅을 아래와 같이 진행합니다.
stone# freebsd-update -v debug -s update.FreeBSD.org upgrade -r 7.2-RELEASE
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching public key from update5.FreeBSD.org... fetch:
http://update5.FreeBSD.org/7.0-STABLE/i386/pub.ssl: Not Found
failed.
Fetching public key from update4.FreeBSD.org... fetch:
http://update4.FreeBSD.org/7.0-STABLE/i386/pub.ssl: Not Found
failed.
No mirrors remaining, giving up.



위 디버깅 정보를 보면, 공개키가 들어 있는 파일을 가져오는곳에서 문제가 발생하는 것을 알 수 있습니다.
현재 커널의 정보를 확인해 보았더니, 아래와 같았습니다.

stone# uname -a
FreeBSD stone.bflysoft.kr 7.0-STABLE FreeBSD 7.0-STABLE #1: Thu Mar 20 08:52:44 UTC 2008  i386



서버의 릴리즈 정보에 해당하는 공개키가 없어서 문제가 발생하는 것이므로, 아래와 같이 임시적으로 서버의 버전 정보를 수정합니다.

stone# setenv UNAME_r 7.0-RELEASE
stone# uname -a
FreeBSD stone.bflysoft.kr 7.0-RELEASE FreeBSD 7.0-STABLE #1: Thu Mar 20 08:52:44 UTC 2008 i386



위와 같이 릴리즈 정보가 변경되었음을 확인한 이후에 다시 freebsd-update를 시도하여 그제서야 마이너 업그레이드가 제대로 진행이 되었습니다.

업그레이드가 진행중에 다음과 같은 메시지가 표시되면서 각종 텍스트 파일의 수정이 필요합니다.

stone# freebsd-update -r 7.2-RELEASE upgrade                              
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 7.0-RELEASE from update4.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic src/base src/bin src/cddl src/contrib src/crypto src/etc
src/games src/gnu src/include src/krb5 src/lib src/libexec src/release
src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin
src/usbin world/base world/dict world/doc world/games world/info
world/manpages world/proflibs

The following components of FreeBSD do not seem to be installed:
src/compat world/catpages

Does this look reasonable (y/n)? y

Fetching metadata signature for 7.2-RELEASE from update4.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 7.0-RELEASE for merging... done.
Preparing to download files... done.
Attempting to automatically merge changes in files... done.

The following file could not be merged automatically: /etc/defaults/periodic.conf
Press Enter to edit this file in vi and resolve the conflicts
manually...



버전 정보에 따라 절절히 모든 파일을 수정해 줍니다.

그리고 난 후에 install 합니다.

stone# freebsd-update install
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.



재부팅 이후에, 다시 한번 freebsd-update install하면 업그레이드가 마무리 됩니다.

'FreeBSD' 카테고리의 다른 글

FreeBSD disk partition 정보 확인  (0) 2012.05.10
FreeBSD su sudo 사용 방법  (0) 2012.05.09
freebsd-update를 이용한 보안 업데이트  (0) 2012.05.09
FreeBSD 8.2 APM 설치  (0) 2012.05.09
FreeBSD + APM + cacti 설치  (0) 2012.05.09
Posted by 배움나눔
FreeBSD2012. 5. 9. 11:39

출처 : http://sunkyu.tistory.com/71456

 

FreeBSD를 위한 자동 바이너리 보안 업데이트 시스템 개요

1.
원문 출처

http://www.daemonology.net/freebsd-update/index.html
http://www.daemonology.net/freebsd-update/binup.html
http://www.daemonology.net/bsdiff/index.html

2. freebsd-update
설치

자동 바이너리 보안 업데이트 시스템(이하 freebsd-update)를 사용하려면

/usr/ports/security/freebsd-update
에서 포트를 직접 설치하고

/usr/local/etc/freebsd-update.conf.sample
freebsd-update.conf

복사하여 사용하면 됩니다
.

현재 1.4 대의 클라이언트 프로그램이 나와 있는 상태이므로

1.3 port
라면 먼저 cvsup으로 ports을 업그레이드하고 설치하면 됩니다
.

3. freebsd-update
사용 가능 여부

freebsd-update
사용 가능한 버젼은 현재 4.7, 4.8, 4.9이며

공식 FreeBSD 배포판만(official FreeBSD distribution) 업데이트가 가능하며

일부를 재컴파일하였다면 모든 필요한 파일이 업데이트되지 않을 수도 있습니다
.
하지만 이 경우 1.4.1 버젼의 클라이언트를 사용한다면 업데이트되지 않는 파일에 대한

경고 메시지를 보여줍니다.(-q, quiet 옵션을 사용하지 않았을 경우에 해당
)

)
[root@bsd etc]# freebsd-update fetch
Fetching updates signature...
Fetching hash list signature...
Examining local system...

The following files are affected by security
fixes, but cannot be updated because they
have been modified locally:

/usr/libexec/named-xfer
/usr/sbin/named

No updates available

4. freebsd-update
사용 방법

클라이언트 프로그램을 설치하였다면 다음 과정을 거쳐 바이너리가 업데이트 됩니다
.
-
바이너리 보안 업데이트 가져오기

# freebsd-update fetch

-
바이너리 보안 업데이트 설치하기

# freebsd-update install

- freebsd-update cron
사용하기

약 매 3600(1시간)마다 updates를 확인하여 다운로드한 후

관리자에게 메일로 알려줍니다. 특별한 언급이 없는 것으로 보아서는

아마도 root에게 메일을 보낼 듯합니다
.
# freebsd-update cron &

5.
참고 사항

- freebsd-update
는 암호화된 서명을 이용하며 상당한 양의 트래픽 사용을

감소시키기 위해 binary diff(bsdiff, bspatch)로써 배포됩니다
.

- /usr/local/etc/freebsd-update.conf
# Configuration file for freebsd-update-client
#

# Specifies the base URL from which updates will be fetched
URL=http://update.daemonology.net/

# Specifies a trusted public key fingerprint
KEYPRINT=f212b8797f3b2f981a772cdbacccfed9

- freebsd-update install
작업 디렉토리

# ls /usr/local/freebsd-update
md5vals num pub.key updates

# cat md5vals
/usr/libexec/named-xfer$428a22618d68eb27054b19aa7b3fc48e
/usr/libexec/named-xfer$9de98a9f61de848ebbcd6dbaff2e30c7
/usr/sbin/named$35a4c4e6c31eabbd9ac2b991e4d9b82f
/usr/sbin/named$98a01a49593dd0167daae1be4e87e570

# cat updates(
형식
: /path/to/file$oldhash$newhash)
/usr/libexec/named-xfer$428a22618d68eb27054b19aa7b3fc48e$9de98a9f61de848ebbcd6dbaff2e30c7
/usr/sbin/named$98a01a49593dd0167daae1be4e87e570$35a4c4e6c31eabbd9ac2b991e4d9b82f

6.
옵션

usage: freebsd-update [options] command

Options:
-b basedir -- Set the base directory to basedir (default: /)
-d workdir -- Store working files in workdir
(default: /usr/local/freebsd-update/)
-f conffile -- Read configuration options from conffile
(default: /usr/local/etc/freebsd-update.conf)
-q -- Quiet.
-v -- Verbose.

Commands:
fetch -- Fetch updates from server
cron -- Sleep rand(3600) seconds, fetch updates, and send an
email to root if updates were found.
install -- Install downloaded updates
rollback -- Uninstall most recently installed updates
IDS -- For every file which is installed as part of a
binary RELEASE install, compare against a signed
index of "known good" files.

Posted by 배움나눔
FreeBSD2012. 5. 9. 10:48

출처 : http://toybsd.tistory.com/900

 

FreeBSD 8.2에서 APM환경을 구축해보자!

이번에 CentOS에서 FreeBSD로 넘어오면서 Apache + PHP + MySQL환경을 구축을 새로하게 되었다. 내가 마지막으로 사용하던 FreeBSD버전은 8.0이였는데 지난 2월달에 8.2버전이 새로 나와서 설치를 하게 되었다.

이번 글에선 FreeBSD에서 APM환경 구축하기이다. 원래는 MySQL말고 PostgreSQL을 설치를 하고 싶었지만, 지금 사용하고 있는 워드프레스에선 MySQL만 지원을 하기 때문에 어쩔수 없이 MySQL을 설치를 하게 되었다.(플러그인을 사용하면 PostgreSQL도 사용이 가능하지만, MySQL을 사용하는 플러그인도 있기때문에 어쩔수 없이 MySQL을 구축했다. PostgreSQL하고 MySQL하고 포트가 달라서 둘다 설치해도 되지만 서버 스펙이..)

난 포트로 구축을 했다. 설치 순서는 MySQL->Apache22->PHP->PHP-Extension 순이다.

1. MySQL 설치 및 설정

[root@localhost ~]# cd /usr/ports/databases/mysql51-server && make install clean

설치가 끝난뒤 mysql을 활성화 시켜줘야 한다. /etc/rc.conf에 mysql_enable=”YES”를 추가를 해준다.
[root@localhost ~]# echo ‘mysql_enable=”YES”‘ >> /etc/rc.conf

그다음은 mysqld를 올린다.
[root@localhost ~]# /usr/local/etc/rc.d/mysqld start

그런뒤 root패스워드를 지정을 해준다. %%%%부분에 사용할 패스워드를 입력해주면 된다.
[root@localhost ~]# mysqladmin -u root password ‘%%%%%’

이것으로 MySQL은 손쉽게 설치가 되었다. 난 my.cnf는 디폴트로 사용하기로 했다. (나중에 튜닝할 예정)

2. Apache 설치 및 설정

[root@localhost ~]# cd /usr/ports/www/apache22 && make install clean

위 와같이 설치를 하면 도중에 어떤 모듈도 설치할건지가 나오는데, 자기가 필요한 모듈을 선택하고 진행하면 된다. 이후 설치가 끝나면 httpd.conf파일을 조금 수정을 해야할 필요가 있다.

[root@localhost ~]# vim /usr/local/etc/apache22/httpd.conf

149번째줄에 있는 ServerName부분을 주석을 해제 시키고 다음과 같이 수정을 한다.
ServerName 127.0.0.1:80

설정이 간단하게 끝났다. httpd.conf는 자신의 입맛에 맞게 설정을 해주면 된다.

마지막으로 apache22를 활성화를 해준다.

[root@localhost ~]# echo ‘apache22_enable=”YES”‘ >> /etc/rc.conf

3. PHP 설치 및 설정

[root@localhost ~]# cd /usr/ports/lang/php5 && make install clean

위의 명령어를 치면 어떤 모듈을 설치할것인지 나오는데, ‘APACHE’부분을 꼭! 체크하고 설치를 해준다.

설치가 끝나면 extension을 설치를 한다.
[root@localhost ~]# cd /usr/ports/lang/php5-extensions && make install clean

여기서 자신이 필요한 모듈을 설치를 해준다. 필수적으로 해주어야 할것은 ‘MySQL’부분이다. MySQL 모듈을 설치를 해주어야지만 MySQL에 연결을 할수가 있다. xpressengine같은것을 사용하려면 gd 라이브러리도 필요하므로 ‘gd’정도도 체크하면 된다. 나머지는 사용자가 필요에 따라 선택한다.

php 설치가 끝나면 이제 apache에 mime type을 추가를 해주어야 한다.
[root@localhost ~]# echo ‘application/x-httpd-php php’ >> /usr/local/etc/apache22/mime.types

DirectoryIndex에서 php도 추가를 해주어야 한다.
[root@localhost ~]# vim /usr/local/etc/apache22/httpd.conf
httpd.conf에서 217번째 줄에서 다음과 같이 수정한다.
DirectoryIndex index.html index.htm index.php

그리고 apache 데몬을 올린다.
[root@localhost ~]# /usr/local/etc/rc.d/apache22 start

이제 웹브라우저로 접속을 해서 잘 접속이 되는지 확인을 하고  phpinfo()도 넣어서 잘 연동이 되는지도 확인을 해보면 된다.

Posted by 배움나눔
FreeBSD2012. 5. 9. 10:44

출처 : http://visualnet.tistory.com/334

 

FreeBSD + APM + cacti 설치

#vi .cshrc 수정


setenv  LANG ko_KR.UTF-8
setenv  LC_ALL ko_KR.UTF-8
(로케이션 한글 설정)
set prompt = "%B`whoami`%b@`hostname`[%~]#"

#source .cshrc


port 업데이트

cvsup -g -L 2 -h cvsup.jp.freebsd.org /usr/share/examples/cvsup/ports-supfile


1.apache22 설치

whereis apache22

cd /usr/ports/www/apache22
make WITH_MPM=worker install clean (2코어 활성)

선택 옵션에서 mysql 선택하고 탭ok 누르면 된다.

apache22 셋팅은 mysql55-server 와.. php5 를 설치 하고나서 한번에 셋팅 한다..


2. mysql55-server 설치

cd /usr/ports/databases/mysql55-server

#make WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci install clean
* EUC-KR을 사용하기 위한 옵션 설치
 # > make WITH_CHARSET=euckr WITH_COLLATION=euckr_korean_ci install clean

utf8로 설치 한다..

#make WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci install clean

 특별히 설정할껀 없다.

 

 * mysql 설정파일 복사
 # > cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf


3. php5 설치

apache22 와 연동하기 위하여..

cd /usr/ports/lang/php5 && make config

설정 화면에서 Build Apache module 선택후.. ok 버튼으로 넘김

cd /usr/ports/lang/php5-extensions

make config install 로 설치

설치 옵션에서 FTP GD MYSQL SOCKETS SNMP 선택후 OK 눌러 설치

설치중 나오는 옵션은 전부 탭눌러서 넘긴다.
설정


1. apache22 설정

cd /usr/local/etc/apache22

vi httpd.conf

AddType 로 검색하여 적당한 곳에..
AddType application/x-httpd-php .php .inc .html
AddType application/x-httpd-php-source .phps


추가한다.


    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php .inc .html
    AddType application/x-httpd-source .phps
이런식으로 적어 주면 된다.

DirectoryIndex 를 검색하여.

DirectoryIndex index.html index.php  추가해준다.


# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf

Include 앞에 주석 해제 위와 같이 변경
vi /etc/rc.conf
apache22_enable="YES"


2. mysql 설정

cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
vi /etc/rc.conf
mysql_enable="YES" 추가후 리붓

 

3.php 설정
cd /usr/local/etc

cp  php.ini-development php.ini 로 카피 한다.

리붓후
sockstat -4 로 mysql 과 httpd 작동을 확인 한다..

root     sshd       1174  4  tcp4   *:22                  *:*
root     httpd      1147  3  tcp4 6 *:80                  *:*
root     httpd      1147  4  tcp4   *:*                   *:*
mysql    mysqld     1081  11 tcp4 6 *:3306                *:*

4. mysql 나머지 설정..

* 기본 사용자가 mysql로 사용하는 기본 관리 DB 설치
/usr/local/bin/mysql_install_db --user=mysql

---------------------------------------------------------------------------------------

FATAL ERROR: Could not find ./bin/my_print_defaults

 


If you compiled from source, you need to run 'make install' to

copy the software into the correct location ready for operation.

 


If you are using a binary release, you must either be at the top

level of the extracted archive, or pass the --basedir option

pointing to that location.

---------------------------------------------------------------------------------------

위와 같은 오류때문에.. mysql_install_db 가 설치가 안된다고 하면 아래 방법으로 설치

/usr/local/bin/mysql_install_db --user=mysql --basedir=/usr/local

* 관리자 비밀번호 지정 하기
/usr/local/bin/mysqladmin -u root password '패스워드' (패스워드 앞에 '은 엔터옆에 '임)

* 캐릭터셋 점검
 # > mysql -u root -p
      Enter password:
      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 9 to server version: 5.1.34-log

      Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

      mysql> use test;
      Database changed
      mysql> show variables like 'c%';
      +--------------------------+----------------------------------+
      | Variable_name            | Value                            |
      +--------------------------+----------------------------------+
      | character_set_client     | utf8                            |
      | character_set_connection | utf8                            |
      | character_set_database   | utf8                            |
      | character_set_results    | utf8                            |
      | character_set_server     | utf8                            |
      | character_set_system     | utf8                            |
      | character_sets_dir       | /usr/local/share/mysql/charsets/ |
      | collation_connection     | utf8_general_ci                  |
      | collation_database       | utf8_general_ci                  |
      | collation_server         | utf8_general_ci                  |
      | concurrent_insert        | ON                              |
      | connect_timeout          | 5                                |
      +--------------------------+----------------------------------+
      12 rows in set (0.00 sec)
     
      mysql >

mysql > quit
- 서버설정에 타라 위의 내용이 다를 수 있습니다.
quit 로 빠져 나온다..

 

mysql utf8 적용

vi /etc/my.cnf


[client]
default-character-set=utf8

 

[mysqld]
character-set-server=utf8

 

[mysql]
dafault-character-set=utf8


mysql> use test;
Database changed
mysql> show variables like 'c%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | utf8                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | utf8                             |
| character_set_server     | utf8                             |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/share/mysql/charsets/ |
| collation_connection     | utf8_general_ci                  |
| collation_database       | utf8_general_ci                  |
| collation_server         | utf8_general_ci                  |
| completion_type          | NO_CHAIN                         |
| concurrent_insert        | AUTO                             |
| connect_timeout          | 10                               |
+--------------------------+----------------------------------+
14 rows in set (0.01 sec)

mysql>


apm 설치및 셋팅이 끝났다..

 

mysql> status

--------------

mysql  Ver 14.14 Distrib 5.1.60, for portbld-freebsd8.2 (amd64) using  5.2


Connection id: 1048

Current database:

Current user: root@localhost

SSL: Not in use

Current pager: more

Using outfile: ''

Using delimiter: ;

Server version: 5.1.60-log FreeBSD port: mysql-server-5.1.60

Protocol version: 10

Connection: Localhost via UNIX socket

Server characterset: utf8

Db     characterset: utf8

Client characterset: utf8

Conn.  characterset: utf8

UNIX socket: /tmp/mysql.sock

Uptime: 1 day 16 hours 37 min 20 sec


Threads: 1  Questions: 109705  Slow queries: 0  Opens: 1107  Flush tables: 1  Open tables: 54  Queries per second avg: 0.750

--------------


cacti 를 설치 합니다.

기본적으로 apm 이 설치 되어 있어야 한다. php 설치 옵션중 snmp

test# whereis cacti
cacti: /usr/ports/net-mgmt/cacti


cacti: /usr/ports/net-mgmt/cacti
test# cd /usr/ports/net-mgmt/cacti && make install clean

 

mysql 의 db와 계정을 셋팅한다.

# mysql -u root -p

Enter password: **********

---------------------------------------------------


mysql> create database cacti;

mysql> use mysql;

mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'password';

mysql> FLUSH privileges;

mysql> quit


mysql -u root -p cacti < /usr/local/share/cacti/cacti.sql

php.ini timezone 수정

vi /usr/local/etc/php.ini

date.timezone = Asia/Seoul

로 수정

# vi /usr/local/share/cacti/include/config.php
--------------->modify<------------------

#database_type = "mysql";

#database_default = "cacti";

$database_hostname = "127.0.0.1";

$database_hostname = "localhost";

$database_username = "cacti";

$database_password = "password";

$database_port = "3306";

------------------------------------------


vi /etc/rc.conf

snmpd_enable="YES"
snmptrapd_enable="YES"
linux_enable="YES"

cd /usr/local/share/snmp/

cp snmpd.conf.example snmpd.conf

vi snmpd.conf

#trap2sink    localhost public

#rocommunity public  localhost

주석 제거 해 준다.

vi /etc/crontab

*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1

추가 해 준다.

리눅스 에뮬레이터 설치
메모리 부분 스크립트가 linux 전용으로 되어 있기 때문에 linux에뮬레이터를 설치 해야 정상적으로 작동한다.
위에 rc.conf 수정에서 linux_enable="YES" 로 한후 리붓을 해야 정상적으로 설치가 가능하다.

rc.conf 를 수정 하지 않고 설치 했을경우

root@cacti.test.com[/usr/ports/emulators/linux_base-f10]#make install clean
===>  linux_base-f10-10_4 linuxulator is not (kld)loaded.
*** Error code 1

Stop in /usr/ports/emulators/linux_base-f10.

와 같은 오류 메시지를 볼수 있다
리눅스 에뮬레이터 사용시 시작스크립트인 rc.conf 에서 리눅스 모듈? 을 불러와야 정상적으로 설치가 된다.

리붓후 다시 설치 하도록 한다.

root@test.crois.net[~]#cd /usr/ports/emulators/linux_base-f10/
root@test.crois.net[~]#make install clean

cacti 메모리 부분 스크립트 변경
리눅스 용으로 작성이 되어 있기때문에 freebsd 에서 구동시키면 정상 작동이 되질 않습니다.
 test# cd /usr/local/share/cacti/scripts/
 test# vi linux_memory.pl

#!/usr/bin/perl

$mem = `cat /compat/linux/proc/meminfo | grep -w "$ARGV[0]"`;
$mem =~ s/($ARGV[0].*\s)(.*[0-9])( kB)//;

print $2;


-------------------------------------------------

linux 에뮬레이터 사용을 위해.
fstab 부분에 설정을 합니다.

 vi /etc/fstab
 linproc   /compat/linux/proc linprocfs rw 0 0

 

vi /etc/crontab

*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1


---------------------------------------

root@cacti.test.com[/usr/local/share/cacti/scripts]#cd /usr/local/etc/apache22/
vi httpd.conf

apache 설정

Alias /cacti /usr/local/share/cacti
<Directory "/usr/local/share/cacti">
    AllowOverride None
    Order Allow,deny
    Allow from all
</Directory>

 


root@cacti.test.com[~]#/etc/rc.d/cron restart


--------------------------------------------------------


01/09/2012 10:35:02 AM - PCOMMAND: Poller[0] Host[1] WARNING: Recache Event Detected for Host

오류가 뜨면
php -q /usr/local/share/cacti/cli/poller_reindex_hosts.php -id=2 -d

php -q /usr/local/share/cacti/cli/poller_reindex_hosts.php -id=All

삭제 해 줘야 한다.
오류 관련 설정 페이지

http://docs.cacti.net/manual:087:6_reference.4_cli_script.2_reindex_hosts


정상적으로 snmpd 가 작동 하는걸 보기 위해.. 아래 명령어를 실행해 본다.

snmpwalk -v 2c -c public localhost


-----------------------------------------------------------

cacti 설정


admin:admin 으로 로그인 하고 로그인 후에 비번을 만들어 주면 된다.



 

Devices 부분


Host Template 부분을 ucd/net SNMP Host 로 바꿔 준다.

SNMP Version 을 Version 2 로 바꿔준다.

Associated Graph Templates 에서

2) ucd/net - CPU Usage  Not Being Graphed   
3) ucd/net - Load Average  Not Being Graphed   
4) ucd/net - Memory Usage  Not Being Graphed 


위와 같이 추가를 해준다.

Associated Data Queries 부분에서

1) SNMP - Interface Statistics 추가


그리고 저장.

Management 부분에서

Graph Management

기본으로 되어 있던 설정을 전부 삭제 한다.


다시
Create
New Graphs  부분에서 그래프를 만들어 준다.

 

Collection Methods
Data Queries

부분에서 SNMP - Interface Statistics 를 추가

전부 설치 하고 나면 5분 후 아래와 같은 그래프를 볼수 있다.




----------------------------------------------
설명이 너무 부실하여 도움이 될지는 모르겠지만..
차후좀더 수정 보완하겠습니다.
어설픈글 읽어 주셔서 감사합니다 _(__)_

Posted by 배움나눔
FreeBSD2012. 5. 7. 10:41

출처 : http://www.allsoft.co.kr/bbs/board.php?bo_table=tip_tech&wr_id=9

 

1. 기본 네트웍 설정

1.1 /etc/hosts.allow 설정

보안상의 이유로 inetd로 서비스되는 데몬들의 경우 hosts.allow 파일을 편집하여 차단합니다.

#>  /etc/hosts.allow
ALL : localhost 127.0.0.1 : allow
sshd : ALL : allow
proftpd : xxx.xxx.xxx.xxx / yyy.yyy.yyy.yyy : allow

# The rest of the daemons are protected.
ALL : ALL \
     : severity auth.info \
     : twist /bin/echo "You are not welcome to use %d from %h."
#>

위의 설정으로 localhost 시스템 상에서 시스템 상이 서비스에는 모든 접근을 허용하고, sshd는 모두에게 허용, Proftpd 즉 FTP는 xxx.xxx.xxx.xxx / yyy.yyy.yy.yyy에 해당되는 호스트들에게만 허용, 그리고 나머지 모든 서비스들에 접근 시 경고문만 보여주게 됩니다.


1.2 네트워크 설정

#> ifconfig -l
dc0 faith0 lo0 ppp0 sl0

여기서 dc0이 intel 10/100BaseTX 이더넷카드 디바이스명입니다. faith0의 경우는 IP6-to-IP4 translation용
가상장치이고 lo0은 로컬호스트 장치명, ppp0은 전화접속 장치명, sl0은 파라렐포트 연결장치명입니다.
dc0을 제외한 나머지는 기본으로 생성됩니다.

#> dmesg | more

위 명령을 쳐서 어떤 네트워크 카드가 인식되었는지 확인 가능합니다.

FreeBSD에서는 대부분의 시스템 전반적인 설정을 /etc/rc.conf에서 할 수 있습니다.

#> /etc/rc.conf

network_interface="dc0 lo0"
Ifconfig_lo0="inet 127.0.0.1"
Ifconfig_dc0="inet 192.168.1.2 netmast 255.255.255.0 media 100BaseTX/UTP mediaopt full-duplex"
hostname="myhost"
defaultrouter="192.168.1.1"
#>

network_interface : 네트워크 장치들을 열거합니다. 여기선 dc0과 lo0을 추가했습니다.
ifconfig_lo0 : 127.0.0.1로 설정하는 것으로 충분
ifconfig_dc : inet 뒤에 서버의 IP주소, netmask 뒤엔 넷마스크, 그 뒷 부분은 옵션입니다.
hostname : 호스트명 입력, 임의대로 지정할 수 있습니다.
defaultrouter : 기본 게이트웨이/라우터 주소를 적습니다.

이번엔 DNS 주소를 설정합니다. /etc/resolv.conf 파일에 추가합니다. 파일이 없다면 새로 생성합니다.

#> /etc/resolv.conf

domain myhost
nameserver 192.168.1.2
nameserver xxx.xxx.xxx.xxx
nameserver yyy.yyy.yyy.yyy
#>

DNS 서버 주소는 최대 3개까지 지정할 수가 있습니다. 직접 DNS도 운영할 것이므로 자신의 서버 아이피
주소를 먼저 넣어주고 그 아래에 자신이 계약을 맺은 ISP회사의 DNS서버 주소를 넣어주면 됩니다.

내부호스트나 자주 접속하는 호스트의 주소들을 /etc/hosts에 추가해줍니다.
기본 로컬호스트와 공인 IP 추가.

#> /etc/hosts

127.0.0.1 localhost localhost.localdomain
192.168.1.1 myhost myhost.mydomain
#>

이제 시스템을 reboot하고 네트워크가 잘 잡혔는지, 작동하는지 ping, nslookup으로 확인해 봅니다.

 

------------  별도 페이지 ---------------------

출처 : ftp://ftp.kr.freebsd.org/pub/FreeBSD-kr/doc/www/htdocs/fom-serve/cache/51.html

대략 2가지 방법이 있습니다.
첫번째로 /etc/rc.conf파일을 수정해 주는 것입니다. 다음은 rc.conf파일의 예입니다.

ifconfig_fxp0="inet 155.230.12.92  netmask 255.255.252.0"
hostname="tenet2.knu.ac.kr"
defaultrouter="155.230.12.1"

위에 보이는 부분을 적당히 변경해주고 리부팅을 시켜주면 됩니다.

리부팅을 못할 경우는 다음과 같은 방법이 가능합니다.
먼저 "ifconfig -a"해 보시면 자신의 network 카드 이름과 아이피 주소 등을 알 수 있습니다. 결과는 다음과 비슷할 것입니다.
tenet2@~> ifconfig -a
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 155.230.12.92 netmask 0xfffffc00 broadcast 155.230.15.255
        ether 00:d0:b7:09:4a:f9
        media: autoselect (10baseT/UTP) status: active
        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000

아이피 주소의 변경은 위와 같은 환경에서 다음과 같이 합니다.
ifconfig fxp0 down
ifconfig fxp0 up 155.230.12.100 netmask 0xfffffc00

아이피 주소가 변경되어 디폴트 라우터의 주소또한 변경되어야 하는 경우는 route명령을 사용합니다. 우선 "netstat -rn" 으로 라우팅 테이블을 확인해 봅니다.
tenet2@~> netstat -rn
Routing tables
Internet:
Destination        Gateway            Flags     Refs     Use     Netif Expire
default            155.230.12.1       UGSc        5        9     fxp0
127.0.0.1          127.0.0.1          UH          0       66      lo0
155.230.12/22      link#1             UC          0        0     fxp0
155.230.12.1       40:bb:82:10:1:21   UHLW        5        0     fxp0   1171
155.230.12.4       8:0:20:a6:7e:a7    UHLW        0        8     fxp0   1182
--생략--

이제 디폴트 라우터 변경을 위해서는 다음과 같이
route delete default
route add default 155.230.16.1

자 다시 "netstat -rn"으로 라우팅 테이블이 변경되었나 확인해 보세요.

참고로 DNS의 설정은 /etc/resolv.conf파일에서 수정합니다. 다음은 resolv.conf의 예입니다.

domain  knu.ac.kr
nameserver      155.230.12.4


 

Posted by 배움나눔