2015년 3월 31일 화요일

how to change dns server, reslove.conf (permanent) / CentOS 6.5


버전
CentOS 6.5

참고한 링크
http://www.cyberciti.biz/faq/dhclient-etcresolvconf-hooks/

적용한 방법
dhclient.conf 수정
dhclient-뒷부분(eth0)은 네트워크 인터페이스에 따라 이름이 달라질 듯
# vi /etc/dhcp/dhclient-eth0.conf

supersede domain-search 와
prepend domain-name-server 항목을 추가
supersede domain-search "MY_DOMAIN";
prepend domain-name-servers IP_OF_LOCAL_NAMED;
적용 및 확인
# service network restart
# cat /etc/resolv.conf


dns, named, bind / CentOS 6.5


버전
CentOS 6.5

그밖에 작업환경
Virtualbox v4.3.26
with vagrant

참고한 링크
https://www.digitalocean.com/community/tutorials/how-to-install-the-bind-dns-server-on-centos-6
https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-14-04
https://www.howtoforge.com/bind-installation-on-centos
https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-bind-namedconf.html

설치
# yum install -y bind bind-utils

설정
# vi /etc/named.conf

//dns서버 ip는 192.168.30.10 네트워크 대역은 192.168.30.x
//사설 대역에서만 사용하기 위한 준비
acl restaurant {
        10.0.2.0/24; //virtualbox nat network
        192.168.30.0/24; //virtualbox host-only network
};

options {
        listen-on port 53 { IP_OF_NAMED; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        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";
        allow-query     { restaurant; };
        recursion yes;
        allow-recursion { restaurant; };
        allow-transfer { none; };
        //먼저 forward dns에 쿼리를 하고 확인이 안되면 사용하겠다는 옵션
        forwarders {
                10.0.2.3; //virtualbox nat default dns
                8.8.8.8;
                8.8.4.4;
        };

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

//domain 내에 ip 설정 파일
zone "MY_DOMAIN" IN {
        type master;
        file "MY_DOMAIN.zone";
        allow-update { none; };
        allow-transfer { none; };
};

//ip-domain recursion에 사용할 파일 설정
zone "30.168.192.in-addr.arpa" IN {
        type master;
        file "30.168.192.re";
        allow-update { none; };
        allow-transfer { none; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

/var/named/MY_DOMAIN.zone
$TTL 86400
@   IN  SOA     ns1.MY_DOMAIN. root.MY_DOMAIN. (
        2015040101  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
; Specify our two nameservers
                IN      NS              ns1.MY_DOMAIN.
                IN      NS              ns1.MY_DOMAIN.
; Resolve nameserver hostnames to IP, replace with your two droplet IP addresses.
ns1             IN      A               192.168.30.10
ns2             IN      A               192.168.30.10

; Define hostname -> IP pairs which you wish to resolve
@               IN      A               192.168.30.10
www             IN      A               192.168.30.10
chef-server     IN      A               192.168.30.10
workstation     IN      A               192.168.30.20
node01          IN      A               192.168.30.21
node02          IN      A               192.168.30.22


/var/named/30.168.192.re
$TTL    86400
@       IN      SOA     MY_DOMAIN. root.MY_DOMAIN. (
                     2015040101         ; Serial
                             1H         ; Refresh
                             1M         ; Retry
                             1W         ; Expire
                             1D )       ; Negative Cache TTL
;
@       IN      NS      ns1.MY_DOMAIN.
; PTR Records
10      IN      PTR     chef-server.MY_DOMAIN.
20      IN      PTR     workstation.MY_DOMAIN.
21      IN      PTR     node01.MY_DOMAIN.
22      IN      PTR     node02.MY_DOMAIN.
23      IN      PTR     node03.MY_DOMAIN.

확인
# yum install -y bind-utils
$ dig -x 192.168.30.10
$ dig chef-server

2015년 3월 30일 월요일

vagrant & chef


버전
vagrant v2

가상머신 설정 및 실행을 커맨드라인 명령어로 처리할 수 있도록 한 프로그램
VirtualBox / VMware 등을 지원

VirtualBox 기준으로 설명

설치는 공식 사이트에서 다운로드
https://www.vagrantup.com/

기본 이미지 (box) 가져오기
http://docs.vagrantup.com/v2/getting-started/boxes.html
$ vagrant box add chef/centos-6.5

공홈에 있는 box 이미지들 링크
https://atlas.hashicorp.com/boxes/search

vagrant 로 vm(그룹) 설정하기
Vagrant 파일 생성 및 수정

vagrant plugin 설치 (hostmanager)
$ vagrant plugin install vagrant-hostmanager

chef 테스트를 위해 설정한 Vagrantfile 내용
hosts = {
  "chef-server" => { ip: "192.168.30.10", ssh_forward: 11022, mem: 1600 },
  "workstation" => { ip: "192.168.30.20", ssh_forward: 12022, mem: 640 },
  "node01" => { ip: "192.168.30.21", ssh_forward: 12122, mem: 512 },
  "node02" => { ip: "192.168.30.22", ssh_forward: 12222, mem: 512 },
  "node03" => { ip: "192.168.30.23", ssh_forward: 12322, mem: 512 }
}

Vagrant.configure(2) do |config|

  # Define base image
  config.vm.box = "chef/centos-6.5"

  config.ssh.insert_key = false
  config.ssh.private_key_path = "~\\.vagrant.d\\insecure_private_key"

  # Manage /etc/hosts on host and VMs
  config.hostmanager.enabled = false
  config.hostmanager.manage_host = true
  config.hostmanager.include_offline = true
  config.hostmanager.ignore_private_ip = false

  hosts.each do |name, prop|
    config.vm.define name do |machine|
      machine.vm.provider :virtualbox do |v|
        v.name = name
        v.customize ["modifyvm", :id, "--memory", prop[:mem] ]
      end
      machine.vm.network :private_network, ip: prop[:ip]
      machine.vm.network "forwarded_port", guest: 22, host: prop[:ssh_forward], id: "ssh"
      machine.vm.hostname = "%s.localdomain" % name
      machine.vm.provision :hostmanager
    end
  end

end

2015년 3월 16일 월요일

Setting svn:externals with TortoiseSVN



http://justaddwater.dk/2007/10/23/setting-up-subversion-externals-with-tortoisesvn/

1. TortoiseSVN -> Properties

외부 링크를 가져와서 사용할 svn 프로젝트 폴더에서 Properties를 선택



2. Add New Properties (Externals)

 svn:externals 설정을 추가합니다


3. Commit changes and update Externals

 추가/변경된 설정에 대해서 commit을 하고 업데이트를 받습니다
 잘 적용되었는지는 repo browser를 통해서 확인할 수 있습니다

http://stackoverflow.com/questions/12861082/setting-up-svnexternals-with-tortoisesvn-in-windows


4. command

svn propset svn:externals '[directory name] [svn externals url]' .
-> property 'svn:externals' set on '.'

이후
svn commit

http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/



2015년 3월 15일 일요일

TortoiseGit + Github / push


1. github에 repo 생성하기


생성 후 화면에서 git URL을 확인할 수 있음



2. TortoiseGit에 remote 등록하기





생성된 repo url 및 이름을 설정/저장

3. push 하기


저장했던 remote 설정을 선택하고 OK 버튼을 누르면
이후 계정(email)과 비번을 물어보고 push가 진행됩니다