Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

http 설정에 대한 초기 셋팅파일의 필요성 #15

Closed
kbu1564 opened this issue Aug 11, 2015 · 5 comments
Closed

http 설정에 대한 초기 셋팅파일의 필요성 #15

kbu1564 opened this issue Aug 11, 2015 · 5 comments
Assignees
Labels

Comments

@kbu1564
Copy link
Owner

kbu1564 commented Aug 11, 2015

http 부팅에 대한 과정 분석 후 해당 설정과정을 자동으로 셋팅해주는 shell script 파일을 하나 제작하여
추가하면 좋을듯 함

파일명은 init 혹은 setup 같은 것으로

@kbu1564 kbu1564 added the 제안 label Aug 11, 2015
@kbu1564
Copy link
Owner Author

kbu1564 commented Aug 11, 2015

#7 해당 이슈의 내용의 연장선상에 존재하지만 이슈의 특성상 tftp 연동과 http 연동을 분리하여 이슈 관리할 필요성을 느껴 http 연동 성공에 대한 설정 방법을 아래와 같이 공유함.

http 부팅시 수정할 필요 사항

우선 dhcp-server 의 패킷 요청들이 외부로 나갈 수 있어야 한다.
이를 위해 tap0 인터페이스와 eth0를 브릿지 하여 br0 인터페이스 장치를 통해 외부로 패킷이 나 갈 수 있도록 해야한다. 이를 위해 아래와 같은 작업을 거친다.

sudo brctl addif br0 tap0
sudo iptables tap0 0.0.0.0

위의 두 작업을 거쳐 tap0 장치의 인터페이스로 입출력되는 모든 패킷들을 br0 로 브릿지 해준다.
브릿지 작업이 끝난 뒤 본격적으로 dhcp 서버의 설정값을 수정해야하며 수정할 내용은 아래와 같다.

sudo vim /etc/dhcp/dhcpd.conf

위의 명령어를 통해 isc-dhcp-server  설정값을 아래와 같은 아이피 대역으로 수정한다.
수정하는 이유는 route -n 명령어로 확인시 알수 있다.
우리는 br0 를 통해 인터페이스 장치로 요청되는 아이피 라우팅 대역을 사용해야만 한다.

option domain-name "intranet.pj-room.com";
option domain-name-servers 168.126.63.1, 8.8.8.8;
option routers 10.0.2.2;
option subnet-mask 255.255.255.0;

default-lease-time 60;
max-lease-time 72;

allow bootp;
allow booting;

subnet 10.0.2.0 netmask 255.255.255.0 {
  range 10.0.2.100 10.0.2.200;
  option routers 10.0.2.2;
  host grub-core {
    hardware ethernet 52:00:00:00:00:01;
    filename "boot/grub/i386-pc/core.0";
  }
}

현재 외부로 나가는 아이피가 br0 인터페이스에 dhcp 형태로 10.0.2.15 아이피를 할당 받아 사용되어지고 있으며 이 장치는 10.0.2.2 의 라우터를 통해 br0 인터페이스로 요청되어 지므로 routers 옵션값을 외부로 나갈 수 있는 라우터쪽으로 아이피를 재 설정해 준다.
아래는 route -n 명령에 대한 본인의 결과 값이다.

bw@bw-VirtualBox:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 br0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 br0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 br0

위와 같이 dhcp 서버의 값을 설정한뒤 한가지 작업을 더 해야한다. dhcp의 외부 서버 요청시 처리되는 기본 인터페이스 장치의 이름을 지정해야한다. 아래의 명령어로 수정한다.

sudo vim /etc/default/isc-dhcp-server

아래 내용으로 수정한다

bw@bw-VirtualBox:~$ cat /etc/default/isc-dhcp-server 
# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid

# Additional options to start dhcpd with.
#   Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#   Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="br0"

여기서 중요한 것은 INTERFACES 옵션값이다 이 값을 통해 dhcp 서버가 외부로 요청되야만 하는 기본 인터페이스 장치가 무엇인지를 알수 있게 된다.

이렇게 설정한 후

sudo /etc/init.d/isc-dhcp-server restart

명령을 수행할 경우 정상적으로 부팅이 완료되게 되며 Grub 콘솔로 진입한뒤 아래의 명령을 입력할시 정상적으로 아이피 주소를 반환하면 성공한 것이다.

grub > net_nslookup www.pj-room.com
222.122.81.58
grub >

@yunheur
Copy link
Collaborator

yunheur commented Aug 11, 2015

👍

@KangHoyong
Copy link
Collaborator

💯

kbu1564 added a commit that referenced this issue Aug 12, 2015
#15 Add 3.Setting Http Interlocking.md
@kbu1564
Copy link
Owner Author

kbu1564 commented Aug 13, 2015

sudo /etc/init.d/isc-dhcp-server start
sudo /etc/init.d/tftpd-hpa start
sudo openvpn --mktun --dev tap0
sudo brctl addif br0 tap0

이렇게 해준 다음 ./run 으로 시작해주면 부팅후에도 정상적으로 http 부팅이 가능

@kbu1564 kbu1564 self-assigned this Aug 15, 2015
yunheur added a commit that referenced this issue Aug 18, 2015
kbu1564 added a commit that referenced this issue Aug 19, 2015
@kbu1564
Copy link
Owner Author

kbu1564 commented Aug 24, 2015

연동 작업 완료로 인한 이슈 종료

@kbu1564 kbu1564 closed this as completed Aug 24, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants