-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #18 from kbu1564/feature/grub_guide
#15 Add 3.Setting Http Interlocking.md
- Loading branch information
Showing
2 changed files
with
163 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
#HTTP 연동 설정 | ||
------------------------------------------------------------------- | ||
###*1. 패킷 필터링* | ||
|
||
우선 dhcp-server 의 패킷 요청들이 외부로 나갈 수 있어야 한다. | ||
이를 위해 tap0 인터페이스와 eth0를 브릿지 하여 br0 인터페이스 장치를 통해 외부로 패킷이 나갈 수 있도록 해야한다. | ||
|
||
이를 위해 아래와 같은 작업을 거친다. | ||
``` | ||
# sudo brctl addif br0 tap0 | ||
# sudo iptables tap0 0.0.0.0 | ||
``` | ||
</br> | ||
###*2. dhcp 서버의 설정값 수정* | ||
위의 두 작업을 거쳐 tap0 장치의 인터페이스로 입출력되는 모든 패킷들을 br0 로 브릿지 해준다. | ||
브릿지 작업이 끝난 뒤 본격적으로 dhcp 서버의 설정값을 수정해야하며 수정할 내용은 아래와 같다. | ||
``` | ||
# sudo vim /etc/dhcp/dhcpd.conf | ||
``` | ||
</br> | ||
위의 명령어를 통해 isc-dhcp-server 설정값을 아래와 같은 아이피 대역으로 수정한다. | ||
수정하는 이유는 `route -n` 명령어로 확인 시 알 수 있다. | ||
우리는 br0 를 통해 인터페이스 장치로 요청되는 아이피 라우팅 대역을 사용해야만 한다. | ||
</br> | ||
**dhcpd.conf를 아래 내용으로 수정한다** | ||
``` | ||
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"; | ||
} | ||
} | ||
</br> | ||
``` | ||
현재 외부로 나가는 아이피가 br0 인터페이스에 dhcp 형태로 10.0.2.15 아이피를 할당 받아 사용 되어지고 있으며, 이 장치는 10.0.2.2 의 라우터를 통해 br0 인터페이스로 요청되어 지므로 routers 옵션값을 외부로 나갈 수 있는 라우터쪽으로 아이피를 재설정해 준다. | ||
</br> | ||
###*3. 라우팅 테이블 확인* | ||
``` | ||
# 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 | ||
``` | ||
</br> | ||
###*4. dhcp의 외부 서버 요청시 처리되는 기본 인터페이스 장치의 이름 지정* | ||
위와 같이 dhcp 서버의 값을 설정한뒤 한가지 작업을 더 해야한다. dhcp의 외부 서버 요청시 처리되는 기본 인터페이스 장치의 이름을 지정해야한다. 아래의 명령어로 수정한다. | ||
``` | ||
sudo vim /etc/default/isc-dhcp-server | ||
``` | ||
</br> | ||
**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 서버가 외부로 요청되야만 하는 기본 인터페이스 장치가 무엇인지를 알수 있게 된다. | ||
</br> | ||
###*5. DHCP 서버 재시작* | ||
명령을 수행할 경우 정상적으로 부팅이 완료되게 된다. | ||
``` | ||
sudo /etc/init.d/isc-dhcp-server restart | ||
``` | ||
|
||
###*6. QEMU 실행* | ||
``` | ||
# qemu-system-i386 -m 512 -net nic,macaddr=52:00:00:00:00:01 -net tap,ifname=tap0,script=no -boot n | ||
``` | ||
</br> | ||
###*7. DNS 서버 주소 확인* | ||
Grub 콘솔로 진입(c 입력) 한 뒤 아래의 명령을 입력할시 정상적으로 아이피 주소를 반환하면 성공한 것이다. | ||
``` | ||
# grub > net_nslookup www.pj-room.com | ||
222.122.81.58 | ||
``` |