Posted
Filed under Linux
[원문]http://blog.beany.co.kr/archives/2157

작업환경

  • CentOS

System 설정

아래의 명령을 실행하여 sysctl.conf 파일을 편집합니다.

1
vi /etc/sysctl.conf

아래와 같이 net.ipv4.ip_forward 값을 1 로 변경합니다. 재부팅시에 적용이 됩니다.

1
net.ipv4.ip_forward = 1

아래의 명령을 이용하여 직접 Kernel 변수를 수정할 수 있습니다.

1
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables 설정

MASQUERADE 설정

1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Network Interface (eth0) 을 통한 Port Forwarding

1
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport ${port} -j DNAT --to ${IP:Port}

특정 IP 를 통한 Port Forwarding

1
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport ${Port} -j DNAT --to-destination ${IP:Port}

Local Port Forwarding

1
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport ${Port} -j REDIRECT --to-port ${Port}
2014/01/24 17:34 2014/01/24 17:34
Posted
Filed under Linux

[원문] : http://vitkalovav.blogspot.kr/2013/07/prvf-0002-could-not-retrieve-local.html


PRVF-0002 : Could not retrieve local nodename

Issue:

While Oracle 12c Installation on Linux (my case OEL6 update 4) you could get an error.

Solution 1:

1. check hostname:
cat /etc/sysconfig/network | grep HOSTNAME
HOSTNAME = test.localdomain

2. check hosts:
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


3. change /etc/hosts like:
127.0.0.1 test test.localdomain
::1 test test.localdomain


4. Run installer

Solution 2:

1. setup system variable like

$ ORACLE_HOSTNAME=test.localdomain
$ export ORACLE_HOSTNAME
2014/01/24 10:23 2014/01/24 10:23
Posted
Filed under Linux

vncserver - port  : 5901
방화벽에서 5901포트를 개방 한다.

1. login as root
2. yum install vnc
3. yum install vnc-server
4. insert "vncserver" in command line
5. yum install tigervnc-server (의존성 때문에 2~4) 과정에서 설치가 됨.

구동 명령어
 - service vncserver restart
 - service vncserver start
 - service vncserver stop

if i execute  "service vncserver restart" then
  "nc server no displays configured" in command line

resoluction
vi /etc/sysconfig/vncservers

insert to endline this
VNCSERVERS="1:root"

good luck!!

2014/01/21 19:09 2014/01/21 19:09
Posted
Filed under Linux
/etc/vsftpd/vsftpd.conf 설정파일에 아래 내용을 추가하면 됩니다. anon_max_rate=0 - 익명 무제한 설정 시(0으로 설정 시 무제한) local_max_rate=-0 - 사용자 무제한 설정 시(0으로 설정 시 무제한) 5000000 < -- 5M 설정 후 vsftpd 재시작 #service vsftpd restart 또는 #/etc/init.d/vsftpd restart
2014/01/14 20:47 2014/01/14 20:47
Posted
Filed under Linux
■ CentOS 에서 네임서버 설치 , 운영

Tip .
0. 소스로 설치 할 경우
http:/www.isc.org 에서 소스 다운 받아 설치 하면 된다.

0. bind 9.2 까지는 named.conf 파일을 사용
0. bind 9.3 부터는 name.caching-nameserver.conf 사용


1. 필요 패키지


  • bind / 기본 패키지
  • bind-libs / 라이브러리
  • bind-utils / 유틸리티
  • caching-nameserver / bind운영에 필요한 환경 설정파일 모음


  • 2. 패키지 준비
    패키지 확인
    #  rpm -qa | grep bind                 
    bind-libs-9.3.3-10.el5
    ypbind-1.19-8.el5
    bind-utils-9.3.3-10.el5
    # yum install bind
    ....
    Dependencies Resolved
    =============================================================================
     Package                 Arch       Version          Repository        Size
    =============================================================================
    Installing:
     bind                    i386       30:9.3.4-6.0.2.P1.el5_2  updates           9
    58 k
    Updating for dependencies:
     bind-libs               i386       30:9.3.4-6.0.2.P1.el5_2  updates           8
    46 k
     bind-utils              i386       30:9.3.4-6.0.2.P1.el5_2  updates           1
    67 k
    Transaction Summary
    =============================================================================
    Install      1 Package(s)        
    Update       2 Package(s)        
    Remove       0 Package(s)        
    Total download size: 1.9 M
    Is this ok [y/N]: y
    ....
    Installed: bind.i386 30:9.3.4-6.0.2.P1.el5_2
    Dependency Updated: bind-libs.i386 30:9.3.4-6.0.2.P1.el5_2 bind-utils.i386 30:9.3.4-6.0.2.P1.el5_2
    Complete!
    # rpm -qa | grep bind
    bind-9.3.4-6.0.2.P1.el5_2
    bind-utils-9.3.4-6.0.2.P1.el5_2
    ypbind-1.19-8.el5
    bind-libs-9.3.4-6.0.2.P1.el5_2
    # yum install caching-nameserver
    ....
    installed: caching-nameserver.i386 30:9.3.4-6.0.2.P1.el5_2
    Complete!
    # rpm -qa | grep caching
    caching-nameserver-9.3.4-6.0.2.P1.el5_2
    #

    3. 운영을 위한 환경 설정 파일
    bind 9.3 버전 부터 name.caching-nameser.conf 파일을 사용한다.
    # vi /etc/named.caching-nameserver.conf
    // named.caching-nameserver.conf
    ...
    options {
    //    listen-on port 53 { 127.0.0.1; };
    // 기본적으로 port 53 으로 자신만이  접근 가능하게 되어있다.
    // 외부접근 가능 하게 any로 바꾼다.
          listen-on port 53 { any; };
    //        listen-on-v6 port 53 { ::1; }; 
    // ip v6 에 대한 것으로 차후 서비스를 위해 ~..주석처리.
            directory       "/var/named";
    // zone file에 대한 기본 디렉토리 설정
            dump-file       "/var/named/data/cache_dump.db";
    // 캐쉬 덤프 파일 생성 위치와 파일 이름
            statistics-file "/var/named/data/named_stats.txt";
    // 통계파일 생성 위치와 파일 이름
            memstatistics-file "/var/named/data/named_mem_stats.txt";
    // 메모리 관련 통계파일 위치 이름

            // Those options should be used carefully because they disable port
            // randomization
            // query-source    port 53;     
    query-source    port 53;   
    // 쿼리를 받아 들일 소스포트
            // query-source-v6 port 53;
    //     allow-query     { localhost; };
            allow-query     { any; };
    // 쿼리 허용할 ip 대역
    };
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    // 실행에 있어 디버깅시 참고 할 수 있는 로그파일 생성 위치
    view localhost_resolver {
    //        match-clients      { localhost; };
    //        match-destinations { localhost; };
            match-clients      { any; };
            match-destinations { any; };
    // 로컬 리졸버 허용 클라이언트 지정

            recursion yes;
            include "/etc/named.rfc1912.zones";
    };

    4. 구동 시작
    # /etc/rc.d/init.d/named start
    named를 시작 중:                                           [  OK  ]
    [root@fedora ~]# tail /var/named/data/named.run
    zone 0.in-addr.arpa/IN/localhost_resolver: loaded serial 42
    zone 0.0.127.in-addr.arpa/IN/localhost_resolver: loaded serial 1997022700
    zone 255.in-addr.arpa/IN/localhost_resolver: loaded serial 42
    zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/localhost_resolver: loaded serial 1997022700
    zone localdomain/IN/localhost_resolver: loaded serial 42
    zone localhost/IN/localhost_resolver: loaded serial 42
    running
    //정상 구동되었다.
    #

    5. zone 파일 구성

    # vi /etc/named.rfc1912.zones
    // named.rfc1912.zones:
    //
    // Provided by Red Hat caching-nameserver package
    //
    // ISC BIND named zone configuration for zones recommended by
    // RFC 1912 section 4.1 : localhost TLDs and address zones
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    zone "." IN {
            type hint;
            file "named.ca";
    };
    ...
    zone "linux.com" IN {
            type master;
            file "linux.com.zone";
            allow-update { none; };
    };
    //추가
    # cd /var/named
    # ls
    // 기본 포멧 파일을 이용
    # cp localdoamin.zone linux.com.zone
    # vi linux.com.zone
    TTL    86400
    @               IN SOA  ns.linux.com. root.linux.com ( 
                                            2008121601      ; serial (d. adams)
                                            3H              ; refresh
                                            15M             ; retry
                                            1W              ; expiry
                                            1D )            ; minimum
                    IN NS           ns.linux.com.
                    IN MX 10        mail.linux.com.
                    IN A            192.168.10.200
    ns              IN A            192.168.10.200
    www             IN A            192.168.10.200
    mail            IN CNAME        www
    ftp             IN CNAME        @
    *               IN CNAME        @

    // 생성 후 저장

    //zone 파일과 conf 파일 체크
    # named-checkconf /etc/named.rfc1912.zones
    # named-checkconf /etc/named.caching-nameserver.conf
    # named-checkzone linux.com /var/named/linux.com.zone
    zone linux.com/IN: loaded serial 2008121601
    OK
    #

    // 모든게 정상으로 나왔다. 서버 재구동
    /etc/rc.d/init.d/named restart
    named를 정지 중:                                           [  OK  ]
    named를 시작 중:                                           [  OK  ]
    # vi /etc/resolv.conf
    search localdomain
    nameserver      192.168.10.10
    nameserver      168.126.63.1
    // 기존에 있던 nameserver외에 추가로 자신의 ip로 된 nameserver ip를 추가
    // 192.~ 대의 dns를 먼저 검색 하며 검색된 정보가 없을경우 다음 dns에게 물어 본다.
    # nslookup
    > linux.com
    Server:  [192.168.10.10]
    Address:  192.168.10.10
    Name:    linux.com
    Address:  192.168.10.100
    ...
    > ftp.linux.com
    >q
    // 잘나오는것을 확인 할 수 있다.

    6. zone file 설명
    TTL    86400
    time to live의 약자 다른 네임서버에서 읽어간 정보가 살아있는 시간이다. 초단위

    @              
    ORIGIN 의 의미 public domain을 의미 즉  @ = linux.com.

    IN
    IN 다음 의 설정을 이용

    SOA  ns.linux.com. root.linux.com
    SOA start of authority 해당 도메인의 정보를 가지고 있고 root@linux.com 이 관리자를 나타낸다.
    (  
                                           
    2008121601      ; serial (d. adams)
    해당 정보의 시리얼 보통 날짜정보 + 카운터로 표시된다.

                                         3H              ; refresh
    리프레쉬 타임 주기

                                            15M             ; retry
    M-> S로의 장애 발생시 재 접속  시간

                                            1W              ; expiry
    존파일 유효기간, 만약 Expiry 시간안에 M에서 응답을 못받을 경우 S는 데이터에 대한 유효성을 더이상 인정 하지 않겠다는뜻

                                            1D )            ; minimum
    TTL과 같은 의미 다른 서버에서 zone 데이터를 가져갔을때 그 데이터에 대한 유효기간

                    IN NS           ns.linux.com.
    // 네임서버 이름 지칭
                    IN MX 10        mail.linux.com.
    // mailserver 이름 지칭
                    IN A            192.168.10.200
    // ip 할당
    ns              IN A            192.168.10.200
    // nameserver의 ip는     ""
    www             IN A            192.168.10.200
    // www.linux.com ip할당
    mail            IN CNAME        www
    // mail server의 ip는 www의 설정을 가져온다.
    ftp             IN CNAME        @
    // ORIGIN 변수의 값을 그대로 사용
    *               IN CNAME       


    6.1 nameserver를 이용한 부하분산
    www             IN A            192.168.10.200
    www             IN A            192.168.10.201
    www             IN A            192.168.10.202
    // A 레코드 여러개 적어 부하 분산!

    크리에이티브 커먼즈 라이선스
    Creative Commons License
    2013/12/05 13:52 2013/12/05 13:52
    Posted
    Filed under Linux

    하둡은 내부 데몬(NameNode, SecondaryNameNode, DataNode, JobTracker, TaskTracker)간에 통신을 위해 다양한 포트를 사용합니다. 만약 하둡이 사용하는 포트가 막혀 있다면, 하둡은 구동했더라도 HDFS 파일 제어나 MapReduce 잡이 정상적으로 실행되지 않을 확률이 매우 높습니다.


    CentOS의 경우 OS를 처음 설치했을 때 기본 포트를 제외한 모든 포트를 방화벽에서 막고 있습니다. 포트를 열어 주지 않은 상태에서 MapReduce 잡을 실행할 경우 다음과 같은 로그 메시지가 발생하면서, MapReduce 작업이 더 이상 진행되지 않게 됩니다.


    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy > 
    org.apache.hadoop.mapred.TaskTracker: attempt_201302200135_0002_r_000000_0 0.0% reduce > copy >


    이러한 현상을 피하기 위해서는 다음과 같은 하둡의 포트를 열어줘야 합니다.

    하지만 사내 보안정책으로 인해 기본 포트를 사용하지 못할 경우에는, 설정 파일에서 해당 포트를 변경해주시면 됩니다.


    파라미터

     기본값

     용도

     설정 파일

     dfs.secondary.http.address

     50090

    SecondaryNameNode 웹 서버 주소 및 포트

     hdfs-site.xml
     dfs.datanode.address

     50010

    DataNode 주소 및 포트

     hdfs-site.xml
     dfs.datanode.http.address

     50075

    DataNode 웹 서버 용 주소 및 포

     hdfs-site.xml
     dfs.datanode.ipc.address

     50020

    DataNode ipc 서버용 주소 및 포트

     hdfs-site.xml
     dfs.http.address

     50070

    NameNode 웹 어드민용 주소 및 포트

     hdfs-site.xml
     mapred.job.tracker.http.address

     50030

    JobTracker 웹 서버용 주소 및 포트

    mapred-site.xml
     mapred.task.tracker.http.address

     50060

    TaskTracker 웹 서버용 웹 주소 및 포트

     mapred-site.xml

    사실 위와 같이 포트를 한땀 한땀 열어주는 건 매우 번거로운 일입니다. 그래서 대부분은 하둡이 하둡이 사내 내부망으로만 설치가 되어 있기 때문에 다음과 같이 방화벽을 내려주시는 게 가장 간단한 방법입니다.  

    su -  root

    service iptables stop

    chkconfig iptables off

    service 코맨드로 현재 실행중인 방화벽을 내려주고,

    chkconfig 코맨드로 앞으로 부팅 시 방화벽이 올라오지 않도록 설정합니다.

    2013/10/01 08:29 2013/10/01 08:29
    Posted
    Filed under Linux

    1. ssh 포트 열기

     $ iptables -A INPUT -p tcp --dport 22 -j ACCEPT

     

    2. telnet 포트 열기

    $ iptables -A INPUT -p tcp --dport 23 -j ACCEPT

     

    3. web 포트 열기

    $ iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    $ iptables -A INPUT -p tcp --dport 443 -j ACCEPT

    443 포트는 ssl 적용이 되는 웹 서비스를 하실 경우만 열어주면 됨. (https:// 를 이용)

     

    4. ftp 포트 열기

    $ iptables -A INPUT -p tcp --dport 20 -j ACCEPT

    $ iptables -A INPUT -p tcp --dport 21 -j ACCEPT


    4.1 ftp 포트 닫기

    $ iptables -D INPUT -s 69.36.233.0/24 -j DROP


    위의 명령어 입력 후

    # service iptables save   ---->  꼭 실행해 줘야한다.

    # service iptables restart

    2013/10/01 08:28 2013/10/01 08:28
    Posted
    Filed under Linux

    [원문]
    Apache를 사용하다 보면 한글파일명이 제대로 지원되지 않습니다.

    이 부분은 mod_url 이라는 모듈을 설치하면 되는데요. 아래 방법으로 설치하시면 됩니다.


    OS : Cente OS 5.5

    Apache : 2.X


    1. 모듈을 컴파일 하기 위하여 apxs라는 프로그램을 먼저 설치합니다. 만약 설치되어 있다면 넘어가셔도 됩니다.


      yum install httpd-devel


    2. 컴파일 가능한 상태인지 확인합니다.


    # httpd -l
    Compiled-in modules:
    http_core.c
    mod_so.c
    mod_php3.c
    #/usr/local/apache/bin/httpd -l | grep mod_so
    mod_so.c


    위와 같이 mod_so.c 가 있다면 apxs로 컴파일 가능합니다.


    3. 파일을 다운로드 합니다.


    wget http://kldp.net/frs/download.php/4101/mod_url-apache2-1.8.tar.bz2


    4. 압축을 풀고 컴파일 합니다.

    tar xvf mod_url-apache2-1.8.tar.bz2
    cd mod_url-apache2
    apxs -aic mod_url.c

    5. 설치 확인합니다.

    vi /etc/httpd/conf/httpd.conf

    하신 후 아래 내용이 있는지 확인하세요.

    LoadModule redurl_module      /usr/lib64/httpd/modules/mod_url.so


    6. 모듈활성화

    httpd.conf에 아래내용 추가

     CheckURL On


    7. 서비스재시작

    service httpd restart


    정상 설치되었다면 한글파일이 정상 지원되는지 확인합니다.

    2013/09/04 17:15 2013/09/04 17:15
    Posted
    Filed under Linux
    [원문] : http://www.gurubee.net/pages/viewpage.action?pageId=3902327

    디렉토리 권한에 관한 내용이 있음으로 위의 링크를 참조 하면 도움이 됨

    <Location "/WEB-INF/*">
        Order deny,allow
       deny from all
    </Location>

    tomcat 세팅시 WEB-INF의 접근을 금지한다.
    2013/02/01 14:27 2013/02/01 14:27