[-문구-Compeople-문구-]

+::System::/Linux2014. 2. 24. 17:57
서버에서 sftp 서브시스템을 거부함 / subsystem request for sftp failed, subsystem not found / sftp접속 불가.

 

* 오랜만에 접속하는 리눅스 시스템...

 

* editplus 이용하여, sftp를 사용하려 하였으나. 에러메세지가 난다..

  "서버에서 sftp 서브시스템을 거부함" 라는 창이 뜨면서 에러가 뜬다.

 

* ssh는. 정상적으로 잘. 붙는다..(서비스 정상)

 

* 로그확인..

[root@icms ~]# tail -f /var/log/messages
Aug 25 06:32:57 icms xinetd[5569]: Started working: 0 available services
Aug 25 06:33:19 icms sshd[5574]: Accepted password for root from ::ffff:106.245.239.34 port 59499 ssh2
Aug 25 06:33:19 icms sshd[5574]: subsystem request for sftp
Aug 25 06:33:19 icms sshd[5574]: subsystem request for sftp failed, subsystem not found
Aug 25 06:34:17 icms sshd[5577]: Accepted password for icms from ::ffff:106.245.239.34 port 59527 ssh2
Aug 25 06:34:17 icms sshd[5579]: subsystem request for sftp
Aug 25 06:34:17 icms sshd[5579]: subsystem request for sftp failed, subsystem not found
Aug 25 06:35:53 icms sshd[5583]: Accepted password for icms from ::ffff:106.245.239.34 port 59557 ssh2
Aug 25 06:35:53 icms sshd[5585]: subsystem request for sftp
Aug 25 06:35:53 icms sshd[5585]: subsystem request for sftp failed, subsystem not found

 

* 확인해보니. 에러메세지 처럼, 서브시스템을 확인 못했단다..

 

* ssh 환경설정 파일 수정...

[root@icms ~]# vi /etc/ssh/sshd_config 

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit

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

중략...

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

#ChrootDirectory none

# no default banner path
#Banner none

# override default of no subsystems
# Subsystem        sftp           /usr/libexec/sftp-server  <= 당초

Subsystem        sftp           /usr/libexec/openssh/sftp-server  # <= 주석해제.. 변경.
Port 8022 

 

* sshd 서비스 재시작...

[root@icms ~]# /etc/rc.d/init.d/sshd restart
sshd (À»)¸¦ Á¾·áÇÔ:                                        [  È®ÀΠ ]
sshd¸¦ ½ÃÀÛÇÔ:                                             [  È®ÀΠ ]
[root@icms ~]# tail -f /var/log/messages   
Aug 25 06:41:59 icms xinetd[5626]: Started working: 0 available services
Aug 25 06:42:06 icms sshd[5629]: Accepted password for icms from ::ffff:106.245.239.34 port 59743 ssh2
Aug 25 06:42:07 icms sshd[5631]: subsystem request for sftp
Aug 25 06:42:07 icms sshd[5631]: error: subsystem: cannot stat /usr/libexec/sftp-server: No such file or directory
Aug 25 06:42:07 icms sshd[5631]: subsystem request for sftp failed, subsystem not found
Aug 25 06:44:15 icms sshd[5613]: Received signal 15; terminating.
Aug 25 06:44:15 icms sshd: sshd -TERM succeeded
Aug 25 06:44:15 icms sshd[5643]: Server listening on :: port 8022.
Aug 25 06:44:15 icms sshd[5643]: error: Bind to port 8022 on 0.0.0.0 failed: Address already in use.
Aug 25 06:44:15 icms sshd:  succeeded

 

** 정상 접속 확인.

Posted by Compeople
+::System::/Linux2013. 5. 15. 10:49

** 참고 : Sigel's house made of ice 。。。(http://entireboy.egloos.com/4536642)

 

telnet으로 작업하다가 간단하게 파일을 전송하고 싶을 때가 있다. FTP 등을 사용하면 되지만, FTP가 막혀 있는 시스템도 있고.. 파일 한두개 옮기려고 다른 프로그램 실행하기도 귀찮을 때 사용하면 좋은 명령이 있다.

rz와 sz인데..
rz : PC -> 서버 (receives files with ZMODEM)
sz : 서버 -> PC (sends one or more files with ZMODEM)



rz/sz는 ZMODEM을 이용하는 명령이라고 한다. rb/sb는 YMODEM, rx/sx는 XMODEM을 사용하고.. 역시 r이 들어간 명령은 서버 입장에서 receive이고, s는 send이다.

이 명령이 없다면, Yum을 통해 설치하면 된다고 한다.
# yum install lrzsz
lrzsz 설치에 대한건 YUM을 이용한 프로그램 Install (SZ/RZ)rz/sz yum install (설치) 참조

 

** 업데이트 에러발생시

[root@dev-linux08 119.iws.kr]# yum -y install lrzsz
Loaded plugins: fastestmirror, security
Setting up Install Process
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base

* 최근 CentOS 6 버전 업데이트 지원이 종료되면서 yum update 등 명령어 사용 시 오류가 발생하고 있다.

* 해결 방법 : 각 OS Bit에 맞춰 3줄씩 명령어 입력 후 yum update 하면 정상 동작 완료 / 업데이트 사이트 주소 변경.


32Bit
echo "https://vault.centos.org/6.10/os/i386/" > /var/cache/yum/i386/6/base/mirrorlist.txt
echo "http://vault.centos.org/6.10/extras/i386/" > /var/cache/yum/i386/6/extras/mirrorlist.txt
echo "http://vault.centos.org/6.10/updates/i386/" > /var/cache/yum/i386/6/updates/mirrorlist.txt
64Bit
echo "https://vault.centos.org/6.10/os/x86_64/" > /var/cache/yum/x86_64/6/base/mirrorlist.txt
echo "http://vault.centos.org/6.10/extras/x86_64/" > /var/cache/yum/x86_64/6/extras/mirrorlist.txt
echo "http://vault.centos.org/6.10/updates/x86_64/" > /var/cache/yum/x86_64/6/updates/mirrorlist.txt

Posted by Compeople
+::System::/Network2013. 5. 14. 14:21

* 제조사 : HP

* 모델명 : V1910-24G Switch (JE006A)

 

* 관리자 페이지 접근후 / 계정입력후, 확인코드 넣은후..

아래와 같은 메세지가 나올때..

 

HP V1910-24G Switch Software Version Release 1111P01 en ab0d0100 Save Help Logout Are you sure to save the current configuration? HP V1910-24G Switch Software Version Release 1111P01 ie 0 0

 

** 확인결과, 인터넷 익스플로러를 지원하지 않은듯 하다..

크롬에서 접속후.. 정상 접속 확인

'+::System:: > Network' 카테고리의 다른 글

ipTIME 유선공유기 / 무선공유기 / Mesh 컨트롤러,  (0) 2020.03.10
Posted by Compeople
+::System::/Linux2013. 5. 13. 14:59

* 참조 : Outsider's Dev Story (http://blog.outsider.ne.kr/580)

 

리눅스나 OSX같은 UNIX계열의 OS에서 1024포트 아래의 포트는 privileged 포트로 root계정이 아니면 사용할 수 없습니다.(Windows계열에서는 상관없습니다.) Apache같은 웹서버를 앞에 두고 있다면 상관없지만 Tomcat이나 그외의 서버에서 80포트를 사용하려고 하면 sudo등을 사용해서 root계정으로 실행해야만 80포트를 사용할 수 있습니다.

문제는 이렇게 웹서버를 root계정으로 실행할 경우 보안의 문제가 생길수가 있기 때문에 문서들을 찾아볼 경우 이렇게 사용하는 것을 권하지 않고 있습니다. 하지만 80포트를 사용해야할 필요가 있을 경우 찾아보니 OS에서 제공하는 iptables을 사용해서 80포트를 다른 포트로 리다이렉트 시키거나 authbind 새창으로 열기를 설치해서 특정포트를 특정앱에게 사용할 수 있도록 허용해 줄수 있습니다. 고민을 하다가 authbind를 사용하려면 별도의 설치를 해야하기도 해서 iptable을 사용하기로 했습니다.

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

* 2013.05.13 추가

ex) 아파치가 80으로 서비스 되고 있다는 가정하에, 외부에서 88포트로 접근시, 내부 80으로 리다이렉트 하고자 할때..

의미는 크게 없는 작업이지만, 해당 내용도 가능하다라는 내용을 확인차 테스트해봄

이렇게 함으로써, 내부에서 80포트로 서비스 되고 있지만, 외부에서 88포트로 접근시, 80으로 리다이렉트 되어, 아파치 페이지가 열림.

 

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 88 -j REDIRECT --to-port 80


위와같은 명령어를 터미널에서 입력하면 80으로 들어오는 모든 패킷을 8080으로 리다이렉트 처리해버립니다. 80포트로 요청을 받기위해서 웹서버를 8080으로 띄워놓고 위처럼 iptable을 이용해서 80으로 들어오는 패킷을 웹서버가 받도록 하는 것입니다.

옵션을 간단히 설명하면 -A는 새로운 룰을 추가하는 것으로 PREROUTING에 대한 룰을 추가합니다. -t는 테이블을 지정하는 옵션으로 nat로 지정합니다 -i 는 인터페이스를 지정하며 인터넷에 연결되어 있는 장비를 eth0으로 지정하고 -p는 프로토콜을 지정하는 옵션으로 tcp를 지정하였습니다. --dport 은 도착지포트를 의미하며 여기서는 80을 지정합니다 -j는 패킷을 어떻게 처리할 지를 결정하는 옵션으로 8080으로 리다이렉트 처리합니다.

iptables -t nat -L


위 명령어를 입력하면 추가한 룰을 확인해 볼 수 있습니다. 기본적인 리스트는 -L 옵션으로 확인하지만 PREROUTING은 nat테이블을 지정해서 보아야 하는것 같습니다.

[Linux] IPTABLE 기본 사용법 새창으로 열기이나 IptablesHowTo 를 보면 자세히 나와 있습니다.

Posted by Compeople
+::System::/Solaris2013. 5. 7. 13:17

* 발췌 : linuxism / http://linuxism.tistory.com/66

* 참조 - http://www.solanara.net/solanara/ipfilter#head_ipfilter_install_src


목차

개요

설치

솔라리스 10의 경우는 설치할 필요 없다. (이미 설치되어있다) 여기서는 솔라리스 9 이하를 기준으로 설명한 것이다.
  • 설치

    root@wl ~ # wget http://coombs.anu.edu.au/~avalon/ip_fil4.1.33.tar.gz
    root@wl ~ # wget http://coombs.anu.edu.au/~avalon/pfil-2.1.13.tar.gz
    root@wl ~ # tar xvfz ip_fil4.1.33.tar.gz
    root@wl ~ # tar xvfz pfil-2.1.13.tar.gz
    root@wl ~ # cd pfil
    root@wl ~/pfil # /usr/ccs/bin/make SunOS32 1)
    root@wl ~/pfil # /usr/ccs/bin/make package 1)
    root@wl ~/pfil # pkgadd -d /tmp/pfil.pkg 2)
    root@wl ~/pfil # ifconfig -a
    lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000
    pcn0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
            inet 192.168.0.11 netmask ffffff00 broadcast 192.168.0.255
            ether 0:c:29:d4:e0:bd
    root@wl ~/pfil # cat /etc/opt/pfil/iu.ap 3)
            pcn     -1      0       pfil
    root@wl ~/pfil # cd ..
    root@wl ~ # cd ip_fil4.1.33
    root@wl ~/ip_fil4.1.33 # /usr/ccs/bin/make solaris
    root@wl ~/ip_fil4.1.33 # cd SunOS5
    root@wl ~/ip_fil4.1.33/SunOS5 # /usr/ccs/bin/make package 4)
    root@wl ~/ip_fil4.1.33/SunOS5 # sync; sync; reboot 5)
    
    1) 반드시 /usr/ccs/bin/make 를 사용한다. 만약 gnu make를 사용하고 있으면 컴파일이 되지 않는다. 64bit 솔라리스를 사용하고 있다면 32대신 64를 입력한다.
    2) 자동으로 설치되는 것이 아니라 패키지파일이 생성된다. 패키지 파일은 그냥 설치해주면 된다.
    3) 패키지 파일을 인스톨 한 후 /etc/opt/pfil/iu.ap 파일을 확인한다. 시스템에 설치되어있는 NIC 종류별로 (lo제외) 한줄씩 /etc/opt/pfil/iu.ap에 등록되어있어야 한다. 같은 종류의 NIC가 두개 설치되어 있어도 한 종류이므로 한 줄만 들어가게 된다.
    4) make package하면 자동으로 패키지가 생성되고 인스톨 된다. (SunOS5디렉토리에 ipf.pkg 파일이 생성된다) 바이너리는 /opt/ipf에, 설정파일은 /etc/opt/ipf에 있다.
    5) pfil 을 설치한 후, 반드시 재시작해야 한다. (ipf 때문에 재시작하는 것이 아니다)
  • 실행

    재시작 하면 IPFilter 가 이미 실행되어있을 것이다. 아래는 제대로 설치되었는지 확인하기 위함이다.
    root@wl ~ # /etc/init.d/ipfboot start 1)
    Set 0 now inactive
    filter sync'd
    0 entries flushed from NAT table
    0 entries flushed from NAT list
    filter sync'd
    root@wl ~ # ndd /dev/pfil qif_status 2)
    ifname ill q OTHERQ ipmp num sap hl nr nw bad copy copyfail drop notip nodata notdata
    QIF1 0x0 0xd40d2cf0 0xd40d2d74 0x0 1 806 0 3 14 0 0 0 0 0 0 0
    pcn0 0xd3c49a9c 0xd4054180 0xd4054204 0x0 0 800 14 695 572 0 0 0 0 0 0 0
    root@wl ~/pfil # strconf < /dev/pcn 2)
    pfil
    pcn
    root@wl ~ #
    
    1) 시작하기. /etc/rc2.d/S65ipfboot에 등록되어있다.
    2) pfil장치와 이에 연결된 pcn 디바이스(시스템마다 다르다)에 IPFilter가 제대로 연결되어있는지 확인한다.
  • IPFilter(솔라리스10) vs IPFIlter(소스설치)

    솔라리스 10 부터는 IPFilter가 내장되어있으므로 설치과정은 필요 없다. 아래와 같이 달라진다. 솔라나라는 소스설치를 기준으로 되어있다.
    구분 솔라리스 10 번들 소스설치
    설정 파일 디렉토리 /etc/ipf /etc/opt/ipf
    ipmon 위치 /usr/sbin/ipmon /opt/ipf/bin/ipmon
    시작하기
    중단하기
    svcadm enable ipfilter
    svcadm disable ipfilter
    /etc/init.d/ipfboot start
    /etc/init.d/ipfboot stop

  • 방화벽은 주로 들어오는 패킷을 막는데 사용한다. IPFilter의 공식 사이트에 있는 매뉴얼과 튜토리얼, 하우투문서(특히 튜토리얼 문서는 꼭 읽어보자)를 읽어야 하며, 네트워크과 TCP/IP에 대한 최소한의 지식이 필요하다. /opt/ipf/examples에 좋은 예제가 있으니 참고하자.
  • 서드 파티로 IPFilter에서 설정파일, 즉 룰셋을 생성시켜주는 프로그램이 있다.
  • 다음은 필자가 간단하게 쓴 예제이다. 필자의 모든 예제에서 호스트의 IP는 192.168.0.11, NIC 장치이름은 pcn0이다.
    root@wl ~ # ifconfig -a
    lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000
    pcn0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
            inet 192.168.0.11 netmask ffffff00 broadcast 192.168.0.255
            ether 0:c:29:d4:e0:bd
    
  1. 모든 패킷 막기

    root@wl ~ # vi /etc/opt/ipf/ipf.conf
    block in all
    block out all
    root@wl ~ # /etc/init.d/ipfboot reload
    
    각 단어의 의미는 다음과 같다.

    block: 패킷을 블로킹.
    in: 인바운드 패킷을 지정.
    all: 모든 패킷을 지정.
    out: 아웃바운드 패킷을 지정.

    - 따라서 [block in all]은 들어오는(in) 모든(all) 패킷을 차단(block)한다는 뜻이 되고, [block out all]은 나가는(out) 모든(all)패킷을 차단(block)한다는 뜻이 된다.
    - 이 이후부터는 ipf.conf의 내용만 적도록 하겠다.
  2. 들어오는 패킷은 막고 나가는 패킷은 허용

    위와 같이 하게 되면 인터넷이 안된다. 적어도 워크스테이션에서 파이어폭스를 띄워 인터넷은 되어야 작업이 가능할 것이다. 따라서 다음과 같이 수정해본다.
    block in all
    pass out all
    
    pass: 패킷을 통과시킴.

    - pass out all부분만 바뀌었다. 나가는(out) 모든(all)패킷을 통과(pass)시킨다.
  3. pcn0 장치를 이용한 외부 접속및 데이터 교환 허용

    위와 같이 해도 인터넷 접속은 안된다. 나가는 패킷은 허용되어있는데 들어오는 패킷은 허용되어있지 않기 때문이다. 즉, 데이터를 받을 수가 없다. 우리가 원하는것을 조금 다시 써본다면, 워크스테이션에서 접속을 시도한 곳은 데이터 교환이 되고 외부에서 워크스테이션으로 접속을 시도한 것은 모두 블로킹하도록 하자. 다음과 같이 수정한다.
    block in all
    pass out on pcn0 proto tcp from any to any keep state
    pass out on pcn0 proto udp from any to any keep state
    pass out on pcn0 proto icmp from any to any keep state
    
    on: 다음에 오는 인터페이스를 지정한다.
    proto: 다음에 오는 프로토콜을 지정한다.
    from: 소스 주소
    to: 목적지 주소
    keep state: 상태 유지

    [pass out on pcn0 proto tcp from any to any keep state]는 pcn0인터페이스(on pcn0)에서 모든곳에서(from any) 모든곳으로(to any)으로 가는 tcp 프로토콜을(proto tcp) 아웃바운드 패킷(out)에 한해 상태를 유지하면서(keep state) 허용한다는 뜻이 된다. 접속한 상태는 허용하고 이 상태를 유지하기 때문에 데이터 교환이 된다.
  4. 성능향상

    IPF는 룰을 위에서부터 차례대로 검사한다. (IPF뿐만 아니라 모든 방화벽이 그렇다) 시스템에 있는 NIC로 패킷이 들어오면 ipf.conf에 있는 모든 룰을 위에서부터 하나하나 확인해보는 것이다. 자. 생각해보자. 위의 글에서, 첫번째룰(block in all)에서 인바운드 패킷을 막았다. 그리고 룰의 내용으로 보아 아래의 룰은 더이상 확인할 필요 없다. 그러나 단순한 IPF는 아래의 룰도 확인한다. 한가지 예를 들어보자.
    block in all
    pass out on pcn0 proto tcp from any to any keep state
    pass out on pcn0 proto udp from any to any keep state
    pass in all
    
    위와 같은 룰이 있다면 처음엔 막으려고 생각했는데, 마지막줄에서 모두 통과시킨다. 결과적으로 인바운드 패킷은 통과한다. 물론 위 예는 극단적인 것이다. 따라서 더이상 룰을 확인할 필요 없다는 것을 IPF에 명시해줘야 한다. 그 지시어가 quick이다.
    block in quick all
    pass out on pcn0 proto tcp from any to any keep state
    pass out on pcn0 proto udp from any to any keep state
    pass out on pcn0 proto icmp from any to any keep state
    pass in all
    
    quick: 빨리. 더이상 아래의 룰을 확인할 필요 없다.

    - 첫번째 줄에 quick 지시어를 추가했다. 모든 인바운드 패킷은 첫번째의 룰에서 블록/통과 여부가 블록으로 결정된다. quick지시어가 있기 때문에 이 룰을 만족한 모든 패킷은 아래의 룰을 확인하지 않는다. 마지막 줄에 pass in all이 있지만 첫번째 룰만 보고 더이상 확인하지 않기 때문에 결과적으로 패킷은 블록된다.
    - 성능향상을 위해서는 quick를 잘 써야 한다. 자주 사용될 룰을 위로 올리는 것이 ipf 성능향상의 지름길이다.
    - [pass out quick on pcn0 proto icmp from any to any keep state]이란 룰에서 붉은색 글자는 동작방식을, 파란색 글자는 패킷의 조건을 나타낸다. 파란색 글자의 내용과 일치하는 패킷에 대해 붉은색 글자로 된 내용을 수행한다. 그것이 IPF의 동작 방식이다.
  5. 외부에서 웹서버(80번 포트) 접속

    pass in quick on pcn0 proto tcp from any to any port=80 keep state
    block in quick all
    pass out on pcn0 proto tcp from any to any keep state
    pass out on pcn0 proto udp from any to any keep state
    pass out on pcn0 proto icmp from any to any keep state
    
    port: 포트 번호

    - [to any port=80] 부분이 목적지의 포트 80에 해당하는 패킷임을 가리킨다.
  6. 192.168.0.8에서만 ftp(21번 포트)에 접속하게 하기

    pass in quick on pcn0 from 192.168.0.8 to 192.168.0.11 port=21
    block in quick on pcn0 from any to 192.168.0.11 port=21
    
    - 방화벽에 의해 보호된 FTP 서버에서, 위와 같이 열었을때 FTP 데이터 전송 방식은 반드시 PORT를 사용해야 한다.
  7. IP 192.168.0.0, NetMask 255.255.0.0 에서 ftp에 접속하게 하기

    pass in quick on pcn0 from 192.168.0.0/16 to any port=21
    
  8. ping 차단

    ping은 ICMP프로토콜의 ECHO를 사용한다. 이 프로토콜에 대해 응답하지 않도록 하면 된다. 아래 예제는 들어오는 프로토콜을 무시하도록 했다. 다른 방법으로는 icmp-return 패킷을 잡아 블록하는 방법도 있다.
    block in quick on pcn0 proto icmp from any to any icmp-type echo
    

커맨드 툴

  1. 기본 룰 생성

    root@wl ~ # /opt/ipf/bin/mkfilters > ipf-example.conf1)
    root@wl ~ # cat ipf-example.conf1)
    #
    # The following routes should be configured, if not already: 2)
    #
    # route add 192.168.0.3 localhost 0
    #
    block in log quick from any to any with ipopts
    block in log quick proto tcp from any to any with short
    pass out on tcge0 all head 150
    block out from 127.0.0.0/8 to any group 150
    block out from any to 127.0.0.0/8 group 150
    block out from any to 192.168.0.3/32 group 150
    pass in on tcge0 all head 100
    block in from 127.0.0.0/8 to any group 100
    block in from 192.168.0.3/32 to any group 100
    
    1) 솔라리스 10 에서는 /usr/share/ipfilter/examples/mkfilters 에 있다. 출력 내용을 파일로 저장해 사용하면 된다.
    2) 파일 내용처럼 route 명령을 사용해 자신의 IP로 오는 패킷을 로컬 호스트로 라우팅한다. 아래의 명령을 부팅 스크립트에서 네트워크 초기화할때 넣으면 된다.
  2. 로깅

    어떠한 패킷이 블록되었는지 확인하기 위해 로깅을 해야할 필요가 있다. 이때에는 다음과 같이 한다.
    root@wl ~ # vi /etc/opt/ipf/ipf.conf
    block in log quick on pcn0 from any to any # in 또는 out 뒤에 log라는 단어를 추가하면 된다.
    root@wl ~ # /etc/init.d/ipfboot reload
    root@wl ~ # /opt/ipf/bin/ipmon # 로그 보기
    01/01/2005 00:00:00.000000 pcn0 @0:1 b xxx.xxx.xxx.xxx,ppp -> xxx.xxx.xxx.xxx,ppp PR udp len 20 76 IN mbcast
    -------------------------1 ---2 ---3 4 -----------------------------------------5 -----6 --------7 --------8
    1. 패킷 도달 날짜 및 시간
    2. 패킷이 처리된 인터페이스 이름
    3. 룰 이름. 0번째 그룹(기본그룹)의 1번째 룰.
    4. Block, Pass의 앞글자.
    5. 소스주소,포트 -> 목적지주소,포트
    6. [PRotocol 프로토콜이름 또는 번호]
    7. [LENth 헤더길이 총길이]
    8. 추가 정보
    Ctrl+C
    root@wl ~ #
    
  3. SYSLOG로 로깅

    위 내용을 SYSLOG로도 로깅할 수 있다.
    root@wl ~ # vi /etc/syslog.conf
    local0.debug	/var/log/ipflog 1)
    root@wl ~ # touch /var/log/ipflog
    root@wl ~ # pkill -HUP syslogd
    
    1) 간격은 '탭'으로 구분한다
  4. 상태보기

    root@wl ~ # ipf -V 1)
    ipf: IP Filter: v4.1.28 (500)
    Kernel: IP Filter: v4.1.28
    Running: yes
    Log Flags: 0 = none set
    Default: pass all, Logging: available
    Active list: 1
    Feature mask: 0x187
    root@wl ~ # ipfstat
    bad packets:            in 0    out 0
     IPv6 packets:          in 0 out 0
     input packets:         blocked 2749 passed 31451095 nomatch 0 counted 0 short 0
    output packets:         blocked 11 passed 31530632 nomatch 0 counted 0 short 0
     input packets logged:  blocked 0 passed 0
    output packets logged:  blocked 0 passed 0
     packets logged:        input 0 output 0
     log failures:          input 0 output 0
    fragment state(in):     kept 0  lost 0  not fragmented 0
    fragment state(out):    kept 0  lost 0  not fragmented 0
    packet state(in):       kept 0  lost 0
    packet state(out):      kept 0  lost 0
    ICMP replies:   0       TCP RSTs sent:  0
    Invalid source(in):     0
    Result cache hits(in):  6581514 (out):  6534071
    IN Pullups succeeded:   3413    failed: 0
    OUT Pullups succeeded:  192352  failed: 0
    Fastroute successes:    0       failures:       0
    TCP cksum fails(in):    0       (out):  0
    IPF Ticks:      2419893
    Packet log flags set: (0)
            none
    root@wl ~ # ipfstat -io 2)
    ...
    
    1) 버전확인
    2) 설정보기

NAT

NAT(Network address translation)이란 [네트워크 주소 변환]을 의미한다. 쉽게 말하자면 IP공유기가 이 NAT를 이용한 장비이다.
  1. 설정

    아래의 예제에서 pcn1은 리얼 IP를 가진 인터페이스의 이름이다. (사설 IP를 가진 인터페이스의 이름은 NAT를 구성할 때 알 필요 없다)
    • 솔라리스 9 이하
      root@wl ~ # vi /etc/rc2.d/S69inet
              [ ! -x /usr/sbin/in.routed ] || /usr/sbin/in.routed
      else
              /usr/sbin/ndd -set /dev/ip ip_forwarding 1 1)
      fi
      root@wl ~ # /usr/sbin/ndd -set /dev/ip ip_forwarding 1 1)
      root@wl ~ # netstat -s -P ip 2)
      IPv4    ipForwarding        =     1     ipDefaultTTL        =   255
              ipInReceives        =16557669   ipInHdrErrors       =     0
      ...
      root@maid ~ # 
      
      1) 솔라리스 9 x86 u7의 경우 223번째 라인에 있다. 솔라리스 버전마다 라인 번호가 다를 수 있다. [/usr/sbin/ndd -get /dev/ip ip_forwarding] 명령을 내린 후 [0]이라 나오면 NAT가 작동하지 않는다. 명령프롬프트에서는 ndd명령을 이용해 실시간으로 변경할 수 있다.
      2) netstat 명령을 이용해 확인한 경우다.
    • 솔라리스 10
      솔라리스 10 의 경우 routeadm 을 사용한다.
      root@maid ~ # routeadm -u -e ipv4-forwarding
      root@maid ~ # routeadm
                      구성              현재               현재
                      옵션              구성            시스템 상태
      ---------------------------------------------------------------
                   IPv4 경로 지정   disabled             disabled
                   IPv6 경로 지정   disabled             disabled
                        IPv4 전달   enabled              enabled
                        IPv6 전달   disabled             disabled
      
                 경로 지정 서비스   "route:default ripng:default"
      ...
      root@maid ~ # 
      
    NAT 설정
    root@wl ~ # vi /etc/opt/ipf/ipnat.conf
    map pcn1 192.168.0.0/16 -> 0.0.0.0/32 proxy port ftp ftp/tcp
    map pcn1 192.168.0.0/16 -> 0.0.0.0/32
    root@wl ~ # /etc/init.d/ipfboot reload
    root@wl ~ # ipnat -slv 3)
    
    3) 상태보기.
    192.168.0.0/16 아이피를 가진 시스템에서 오는 패킷은 pcn1을 통해, pcn1이 가진 리얼 아이피로 바뀌어 재 전송될 것이다. 만약 pcn1이 두개 이상의 아이피를 가졌다면 두가지중 한가지 IP로 바뀌어서 전송된다. 한개의 아이피만 사용하려면 0.0.0.0/32가 아니라 xxx.xxx.xxx.xxx/32로 써주면 된다. 만약 두개 이상의 아이피중 하나로 보내도록 하려면 xxx.xxx.xxx.xxx/16 과 같이 써 주면 된다. [proxy port ftp ftp/tcp] 부분은 192.168.0.0/16을 가진 시스템에서 ftp를 port방식으로 사용하기 위해 필요하다. ftp를 pasv방식으로 사용한다면 지워도 된다.
  2. 포트 포워딩

    포트 포워딩은 rdr 명령을이용한다. 아래에 예제는 pcn1 인터페이스의 80포트로 오는 모든 패킷을 192.168.0.3번으로 포워딩 하는 것이다.
    root@maid /etc/opt/ipf # cat ipnat.conf
    map pcn1 192.168.0.0/16 -> 0.0.0.0/32 proxy port ftp ftp/tcp
    map pcn1 192.168.0.0/16 -> 0.0.0.0/32
    rdr pcn1 0.0.0.0/0 port 80 -> 192.168.0.3 port 80
    root@wl ~ # /etc/init.d/ipfboot reload
    
  3. 로드밸런싱

    포트포워딩시 보낼IP와 포트 콤마(,)를 이용해 로드밸런싱을 구현할 수 있다.(로드 밸런싱 알고리즘은 Round Robin이며 Failover와 같은 기능은 지원되지 않는다)
    rdr pcn1 0.0.0.0/0 port 80 -> 192.168.0.3, 192.168.0.4, 192.168.0.5 port 80
    
    pcn1, 80포트로 들어오는 패킷은 192.168.0.3, 192.168.0.4, 192.168.0.5으로 분산되어 전송된다.

참고

  1. Private Internets Addresses

    사설IP(Private Internets Addresses)는 RFC 1597(RFC 1918로 대체됨), IANA(Internet Assigned Numbers Authority)에 지정되어있다.
         10.0.0.0        -   10.255.255.255  (10.0.0.0/8)
         172.16.0.0      -   172.31.255.255  (172.16.0.0/12)
         192.168.0.0     -   192.168.255.255 (192.168.0.0/16)
    
  2. 주요 포트 번호

    • 포트 번호는 각 어플리케이션의 설정을 통해 대부분 변경할 수 있다.
    • /etc/services 파일에도 포트와 관련된 내용이 들어있다.
    • 괄호가 없는 포트 번호는 TCP포트번호를 의미한다.
    • 참고: PORT NUMBERS (IANA에 등록된 포트 번호)
    내용                    포트
    FTP DATA                  20
    FTP                       21
    SSH                       22 (TCP/UDP)
    TELNET                    23
    SMTP(SENDMAIL)            25
    DOMAIN(BIND)              53 (TCP/UDP)
    TFTP                      69 (UDP)
    HTTP                      80
    POP3                     110
    RPC                      111 (TCP/UDP)
    SFTP                     115 
    NTP                      123 (UDP)
    NetBIOS Name             137 (TCP/UDP)
    NetBIOS Datagram         138 (TCP/UDP)
    NetBIOS Session          139 (TCP/UDP)
    IMAP                     143
    SNMP                     161 (UDP)
    SNMP Trap                162 (UDP)
    IRC                      194
    RPC2PORTMAP              369 (TCP/UDP)
    CLEARCASE                371
    SSL (HTTPS)              443
    SMB                      445
    Syslog                   514 (UDP)
    iSCSI                    860
    rsync                    873
    TFTP DATA               1390 (UDP)
    ORACLE                  1521
    NFS                     2049 (TCP/UDP)
    CVS PSERVER             2401 (TCP/UDP)
    iSCSI                   3260
    MySQL                   3306
    Remote Desktop Protocol 3389 1)
    SVN (Subversion)        3690 (TCP/UDP)
    PCAnyWhere              5631
    PCAnyWhere              5632 (UDP)
    VNC                     5900
    X-Window                6000 (TCP/UDP)
    WEB CACHE               8080 (TCP/UDP)
    
    1) Microsoft의 Terminal Service/Virtual Box의 VRDP 서비스를 위한 포트이다
  3. netstat 용 상태 변화 차트 (TCP 접속시)

    SERVER> →CLOSED1→LISTEN2→SYN_RCVD4→ESTABLISHED6
    
    CLIENT> →CLOSED1→SYN_SENT3→ESTABLISHED5
    
    1 어떠한 접속 요청도 없는 상태이다. netstat 에서는 CLOSED라는 상태는 표시되지 않는다.
    2 서버쪽에서 포트를 오픈한 상태이다. 오픈된 포트는 LISTEN으로 표시된다.
    3 클라이언트에서 연결요청패킷(SYN패킷)을 보낸 상태이다.
    4 클라이언트에서 보낸 연결요청패킷에 대해 응답패킷(SYN-ACK패킷)을 보낸 상태이다.
    5 서버에서 준 응답패킷에 대해 응답패킷(ACK패킷)을 보낸 후 바로 ESTABLISHED 상태로 넘어간다.
    6 클라이언트에서 보낸 응답패킷을 받으면 바로 ESTABLISHED 상태로 넘어간다.

    ※ 보낸 패킷 위주로 다시 정리하자면
    1) 클라이언트에서 SYN 패킷 전송
    2) 서버에서 SYN-ACK 전송
    3) 클라이언트에서 ACK 전송
    위와 같이 되며 이 3단계를 3-way handshake 라 한다.
  4. netstat 용 상태 변화 차트 (TCP 접속 해제시)

    SERVER> →ESTABLISHED1→FIN_WAIT_12→FIN_WAIT_24→TIME_WAIT5→CLOSE7
    
    CLIENT> →ESTABLISHED1→CLOSE_WAIT3→LAST_ACK6→CLOSE8
    
    1 접속된 상태
    2 접속종료요청패킷(FIN-ACK패킷) 전송한 상태. (socket close콜을 호출한 상태)
    3 접속종료요청패킷받은 후 응답패킷(ACK패킷) 전송한 상태.
    4 응답패킷을 받은 상태. 여기까지 왔으면 접속은 사실상 끊긴 상태이다.
    5 응답패킷만 받고 두번재 응답패킷(FIN-ACK패킷)을 받지 못한 상태. FIN_WAIT_2에서 일정시간동안 FIN-ACK패킷(6에서 보낸 패킷)을 받지 못하면 TIME_WAIT상태로 된다.
    6 응답패킷(FIN-ACK)패킷을 보낸 상태. (응답 패킷을 보내려면 프로그램에서 socket close콜을 호출해야 한다. 즉 이 패킷을 전송했다는 것은 서버에서 일방적으로 끊은 상태를 클라이언트의 프로그램에서 인지했다는 뜻이다)
    7 FIN_WAIT_2 또는 TIME_WAIT 상태에서 6에서 전송한 FIN-ACK를 받았거나, TIME_WAIT상태에서 일정 시간이 지났을때 해당된다. FIN-ACK를 받았다면 ACK 패킷를 보낸다.
    8 ACK패킷을 받았거나LAST_ACK에서 일정한 시간이 지나면 CLOSE상태로 된다

    ※ 보낸 패킷 위주로 다시 정리하자면
    1) 클라이언트에서 FIN-ACK 패킷 전송
    2) 서버에서 ACK패킷 전송
    3) 서버에서 FIN-ACK 패킷 전송
    4) 클라이언트에서 ACK 패킷 전송
    위와같이 4단계로 진행된다.
    NETSTAT에서 FIN_WAIT_2, TIME_WAIT가 많은 경우 어플리케이션의 오류일 확률이 있다. 양측에서 명시적으로 커넥션을 종료 해줘야 기다리는 시간을 줄일 수 있다.
  5. 주요 ICMP 타입 및 코드, 예약어, 설명

    http://www.iana.org/assignments/icmp-parameters 에서 발췌
    이름             타입    코드  ipfilter예약어 설명
    ICMP_ECHOREPLY      0       0  echorep        Ping 응답.
    ICMP_UNREACH        3       4  needfrag       최적의 MTU 세팅을 위해 사용됨.
    ICMP_ECHO           8       0  echo           Ping 요청.
    ICMP_TIMXCEED      11       0  timex          TTL 만료시 사용됨. traceroute 또는 tracert에서 사용.
    
  6. 참고 웹사이트

    http://www.phildev.net/ipf/ (IPFilter FAQ)
    http://coombs.anu.edu.au/~avalon/flc.html (Filter Language Compiler)
    http://inc2.com/isba/ (ISBA: 웹기반 룰셋 관리)
    http://www.fwbuilder.org/ (Firewall Builder: 룰셋 관리)
Posted by Compeople
+::System::/Linux2013. 5. 3. 11:13

리눅스 파일안에 내용 일괄수정 팁.

* mysql 의 replace 명령어를 이용한 파일내용 일괄 수정
find . -type f -name '*' -exec /usr/local/mysql/bin/replace oldcontent netcontent -- {} \;

 

* MySQL 설치시 함께 설치되는 replace 라는 명령을 이용한 파일 내용 치환.

find . -type f -name '*' -exec replace dotname dothost -- {} \;

*perl 을 이용한 파일 일괄 변경
find . -name *.* -exec perl -p -i -e 's/old/new/g' {} \;

 

Posted by Compeople
+::System::/WIndows2013. 3. 26. 10:21

어느날, 잘되던 원격접속(원격데스크탑) 갑자기 접근이 불가능해지면서

" 명령 처리에 사용할 서버 저장 공간이 부족합니다. " 라는 메시지를 띄울때

해결방버::


1. 시작->실행-> regedit 입력후 실행

 

2. 아래 레지스트리로 이동
LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

 

3. IRPStackSize (REG_DWORD 형식으로 새로만들기)

값이 없으면 추가 (Default로 값은 15)

 

4. Default값이 없으면 + 3 하신 값을 입력 후 PC 리부팅

 

5. 공유폴더 접근이 안될때는 해당 값을 +3씩 늘려보면서 시도해 보시면 됩니다.
(최대 IRPStackSize 값: 50)

 

거의 IRPStrackSize만 새로 생성해줘도 해결이 되네요.

 

**참고 : http://blog.naver.com/kimhakjjin?Redirect=Log&logNo=80119706861

 

Posted by Compeople
+::System::/Solaris2013. 2. 1. 13:32

솔라리스 네트웍 설정 Unix Linux System 
2006/02/11 23:17

http://blog.naver.com/dalmagru/70001676448
 

1. 처음에 ifconfig -a 을 쳐본다..

그러면 inet: . . . . netmask . . . . broadcast . . . . 으로 나타나 있다..

 

2. 없으면 추가한다..

# ifconfig elx0 plumb

# ifconfig elx0 192.168.123.33  broadcast 192.168.123.255 netmask 255.255.255.0

# ifconfig elx0 up

 

=> 세 단계를 거치는 이러한 작업은 다음과 같이 하나의 명령으로 수행

# ifconfig elx0 192.168.123.33  broadcast 192.168.123.255 netmask 255.255.255.0 plumb up

 

3. up과 down 인자를 이용하여 사용가능, 불가능 상태

# ifconfig elx0 up   //디바이스를 사용 가능 상태

# ifconfig elx0 down   //불가능한 상태

 

4. 네트워크 정보를 포함하는 파일

  - ls /etc/inet

  - cat /etc/inet/hosts | grep -v ^#

  - cat /etc/hostname.elx0

  - cat /etc/nodename

  - cat /etc/inet/netmasks | grep -v ^#

 

5. 라우팅 경로 정보

# netstat -rn

# netstat -r

 

6. 게이트웨이

- 게이트웨이와 라우터는 보통 같은 의미로 사용되지만 게이트웨이는 라우터의 역할과 함께 다양한 기능들을 추가로 수행하는 경우가 많다.

- 패킷 변환 , 프로토콜 프레임 조정, 패킷 필터링 등

- /etc/defaultrouter

# cat > /etc/defaultrouter

 166.104.7.1

 ^D

 

7. 정적 라우팅 조정

# route add - host 192.168.123.33  192.168,.123.33  1  add host 192.168.123.33: gateway 192.168.123.33

 - 작업명령어: add와 delete를 사용하여 특정한 경로를 추가하거나 삭제

 - 대상 지정: -host, -net을 이용하여 라우팅 경로를 조정

 - 경로지정

 - 플래그: 이 값은 보통 1또는 0을 사용한다.

 - 재부팅 하지 않고 사용하려면 다음과 같이 콘솔 프롬프트에서 기본 게이트웨이를 추가

   # route add default 192.168.123.22

 

 

====================================================================

 

 

게이트 웨이 추가

#route add default 192.168.123.1

 

게이트 웨이 확인

#netstat -rn

 

 

x86 솔라리스9 에서 DHCP 클라이어트로 설정시 호스트 이름 설정하기(확실하지 않음)

 

1. /etc/nodename

호스트이름을 넣어준다

 

2. /etc/init.d/network 파일의 다음 부분을 아래와 같이 고치 십시요.

 

[변경전]

"dhcp") hostname=`/sbin/dhcpinfo Hostname` ;;

 

[변경후]

# "dhcp") hostname=`/sbin/dhcpinfo Hostname` ;;

"dhcp") hostname=`shcat /etc/nodename` ;;

 

3. /etc/init.d/inetsvc 파일의 다음 부분도 아래와 같이 바꾸십시요.

 

[변경전]

hostname=`/sbin/dhcpinfo Hostname`

 

[변경후]

# hostname=`/sbin/dhcpinfo Hostname`

hostname=`/usr/bin/cat /etc/nodename`

 

 

4. # cp /etc/nsswitch.dns /etc/nsswitch.conf

 

netstat -rn 에서 default 항목이 있으면 기본게이트웨이는 설정된 것이다.

 

 

고정 IP 일 경우 설정하기

1. /etc/nodename

파일에 호스트 이름을 저장한다.

 

2. /etc/hostname.interface

솔라리스 설치시 자동으로 만들어지는 파일이지만 구성을 변경할때 IP 주소나 인터페이스, 호스트 이름을 저장한다.

 

3. /etc/inet/hosts

파일을 편집해서 추가한 네트웍 인터페이스에 할당한 IP 주소와 호스트 이름을 입력하고 서버의 IP 주소를 저장한다.

라우터의 이름과 주소를 입력한다.

 

4. /etc/defaultdomain

도메인 이름을 저장한다.

 

5. /etc/defaultrouter

라우터의 이름을 입력한다.(주소는 /etc/inet/hosts 파일에 있어야 한다.)

 

6. /etc/inet/netmasks

network-number    netmask

의 형식으로 입력한다.

 

7. 다음을 실행하거나 /etc/nsswitch.conf 파일을 수정한다

# cp /etc/nsswitch.dns /etc/nsswitch.conf

 

8. 시스템을 재시작한다.

 

 

 

 

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

솔라리스 설정 방법

 

1. 네트워크 관련 설정 파일

/etc/hosts

예) [kts032]/etc> more hosts

210.222.20.29   kts032  loghost

 

/etc/netmasks

예) [kts032]/etc> more netmasks

210.222.20.0    255.255.255.128

 

/etc/defaultrouter

예) [kts032]/etc> more defaultrouter

    210.222.20.1

 

DNS Client 설정

/etc/resolv.conf

예) [kts032]/etc> more resolv.conf

    nameserver 128.134.130.101

    nameserver 128.134.130.102

 

/etc/nsswitch.conf

예) [kts032]/etc> more nsswitch.conf

    group:      files

    hosts:      files       dns  -----> 이부분

 

2. 인터페이스 확인

[ktn001]/staff/kth> etherstat

=========================================

devices  status  speed  mode  transceiver

=========================================

hme0     UP      100Mb  Full  Internal

hme1     DOWN    100Mb  Full  Internal

=======================================

 

2-1. 수동 설정

-기본값으로 UP / DOWN

#ifconfig eth0 plumb (사용)

#ifconfig eth0 up

#ifconfig eth0 down

#ifconfig eth0 unplumb(사용안함)

 

-값을 지정하여 올리기

#ifconfig hem0 inet 200.200.200.200 netmask 255.255.255.0 broadcast 100.100.100.255 up

#/usr/sbin/route add net 10.0.0.0/8 172.24.65.1 1

#/usr/sbin/route add net 172.16.0.0/12 172.24.65.1 1

#/usr/sbin/route add net 192.168.0.0/16 172.24.65.1 1

 

3. ndd 사용

hme: (ifconfig 로 정보확인)

# ndd -set /dev/hme instance 0

# ndd -set /dev/hme adv_100fdx_cap 1

# ndd -set /dev/hme adv_autoneg_cap 0

 

 

=========================================================================

 

재부팅후 수정해야할 파일들은 아래와 같습니다.

/etc/hostname.[interface_name]

/etc/hosts

/etc/defaultrouter

/etc/nodename

/etc/nsswitch.conf

/etc/resolv.conf

 

vi /etc/hostname.rtls0

이 파일에는 호스트의 이름정보만 들어있으면 됩니다.

ex) www01

 

vi /etc/hosts

이 파일에는 시스템의 IP와 loop back, 호스트네임이 들어있어야 됩니다.

ex) 127.0.0.1        localhost

      192.168.1.3    www01      loghost

 

vi /etc/defaultrouter

이 파일에는 Gate Way만 들어있으면 됩니다.

ex) 192.168.1.254

 

vi /etc/nodename

이 파일 역시 호스트의 이름정보만 들어있으면 됩니다.

ex) www01

 

vi /etc/nsswitch.conf

nslookup, 도메인정보를 찾기위해 시스템이 참조하는 파일인데요.

/etc/nsswitch.dns라는 파일을 카피하여 nsswitch.conf라고 하면됩니다.

그럼 원본 nsswitch.conf를 적당한 이름으로 바꿔주면 되겠죠?

저는 nsswitch.conf.orig 라고 바꿨습니다.

ex) mv nsswitch.conf nsswitch.conf.orig

     cp nsswitch.dns nsswitch.conf

 

vi /etc/resolv.conf

이 파일에는 DNS정보만 들어있으면 됩니다.

ex) search kns.kornet.net

      nameserver 168.126.63.1

      nameserver 168.126.63.2

 

이제 재 부팅하는 일만 남았습니다.

재부팅때 꼭 이 명령어를 사용하여 재부팅 해주세요.

shutdown -i5 -g0

 

그럼 재부팅 되면서 자동으로 네트웍 정보를 Load합니다.

재부팅되면 콘솔에 nslookup을 쳐보세요.

 

Posted by Compeople
+::System::/Linux2013. 2. 1. 13:26

서버를 다운시키지 않고 서비스를 재시작

 

예를 들어 dns 같은 경우에는

in.named(named) 라는 daemon에 의해서 수행되므로 다음과 같은 명령을 주신후에
process id에 kill을 사용하여 HUP signal을 보내면 다시 data를 읽어들여
셋팅을 하게 됩니다.

 

** ps명령어로 named 프로세스번호(PID) 확인
%ps -ef : grep named(또는 in.named)
root 2123 1 0 Sep 03 ? 03:17 named(또는 in.named)
- PID 2123번으로 확인됨.

 

%whoami
root

 

%kill -HUP 2123
- 위에서 확인된 PID 2123을 kill명령어로 재시작.

 

%ps -ef : grep named(또는 in.named)
root 2123 1 0 Sep 03 ? 03:17 in.named
- ps명령어오 확인결과, 정상적으로 구동되는것을 확인

Posted by Compeople
+::System::/Linux2012. 10. 18. 19:01

* 언어셋 관련. 파일 수정

[root@localhost install]# vi /etc/sysconfig/i18n

 

* i18n파일이.. OS설치시 언어부분 설정사항과, O/S버젼이나 종료에 따라 다르게 나온느듯 하다.

 

* centos 5.2 / 64bit 경우. 아래 한줄이 있었다.

LANG="ko_KR.UTF-8"

* 일단. 주석처리하고..

#LANG="ko_KR.UTF-8"
#아래 4줄 추가.

LANG="ko_KR.eucKR"
SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"

 

* 수정한 파일 시스템 적용 / source명령어로 위에서 수정한 i18n 파일을 적용.

[root@localhost install]# source /etc/sysconfig/i18n

 

* 정상적으로 리눅스 시스템 콘솔에서 한글부분 사용 및 출력 가능합니다.

 

* 위 사항의 경우 다양한 환경이나. 상황에 따라.. 달라지는듯 합니다. 어떤데는 위와같이 적용해도 한글이 안먹는 경우가 있습니다. 좀더 정확한 부분은.. 더 찾아봐야 할듯 합니다.

 

** 참고 i18n파일

* i18n 파일내용

\#LANG="ko_KR.eucKR"
#SUPPORTED="en_US.UTF-8;en_US:en:ko_KR.eucKR:kor_KR:ko"
#SYSFONT="latarcyrheb-sun16"
#LANG="en_US.UTF-8"
#SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.UTF-8:ko_KR:ko"
#SYSFONT="latarcyrheb-sun16"
LANG="ko_KR.eucKR"
SUPPORTED="ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="iso15"

 

* OS정보 : CentOS release 5.2 (Final) / 32bit

Posted by Compeople