이슈의 특성상 ethernet을 이용한 연동과 wireless 연동을 분리하여 이슈 관리할 필요성을 느껴 ethernet 연동 성공에 대한 설정 방법을 아래와 같이 공유함.
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 >
![grub-net-load](https://cloud.githubusercontent.com/assets/7445459/9097656/bfe1f88e-3bff-11e5-8c39-13d14a12d956.png)
참고 사이트 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/PXEBoot
위 사이트 보고 PXE 부팅 환경 구축 후 네트워킹 분석 하던거 계속 진행가능
아래의 명령어를 이용하여 pxeboot를 이용하여 부팅하게 될 모듈 및 core.0 이미지 파일 생성
--subdir 명령인지 뒤에 오는 값은 추후 pxe 부팅시 로드되는 기본 디렉토리 경로이다.
sudo ~/g2/usr/bin/grub-mknetdir \
--net-directory=/srv/tftpboot \
--subdir=boot/grub \
--modules=tftp http