pxe로 os설치 중에 질문입니다.
centos 4.4 서버 1대에 eth0,1,2 이렇게 3개의 물리적 인터페이스가 있습니다.
그리고 eth1,2에서 각각 장비가 물려 있습니다. (둘다 똑같은 h/w의 1u 서버 입니다.)
eth0-- public ip
eth1-- private ip (192.168.0.1) -- eth0 (192.168.0.2)
eth2-- private ip (192.168.1.1) -- eth0 (192.168.1.2)
eth1,eth2는 iptables에서 masquerade로 설정하였습니다.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#---eth1---
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.2 -j SNAT --to aaa.aaa.aaa.aaa
iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.1 -j DNAT --to 192.168.0.2
#---eth2---
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.2 -j SNAT --to aaa.aaa.aaa.aaa
iptables -t nat -A PREROUTING -i eth0 -d 192.168.1.1 -j DNAT --to 192.168.1.2
그리고 iptables INPUT, OUTPUT의 젤 위에 eth1,2는 무조건 accept로 해놨습니다.
dhcpd.conf는 shared-network으로 설정해 놓았습니다.
shared-network pxe-boot {
option domain-name-servers xxx.xxx.xxx.xxx;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
}
host aaa {
hardware ethernet 00:C0:9F:1F:xx:xx;
fixed-address 192.168.0.2;
filename "linux-install/pxelinux.0";
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
}
host bbb {
hardware ethernet 00:C0:9F:1F:xx:xx;
fixed-address 192.168.1.2;
filename "linux-install/pxelinux.0";
}
}
그리고 /etc/xinetd.d/tftp 에서도 rpm (tftp-server) 으로 깔린 default 설정으로 전혀 건드리지 않았습니다. disable만 바꿨습니다. no로. 물론 설정 변경 후 xinetd도 재시작 했구요.
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
/tftpboot 이하는 완벽합니다. /etc/hosts.allow 도 확실합니다.--
그런데.. 중요한건 위와 같이 설정해서 OS를 PXE로 설치 하는데 eth2만 제대로 dhcp를 받아서 tftp를 통하여 정상적으로 되는데 eth1은 dhcp도 받지를 않습니다.
근데.. dhcpd.conf에서
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name-servers xxx.xxx.xxx.xxx;
}
host aaa {
hardware ethernet 00:C0:9F:1F:xx:xx;
fixed-address 192.168.0.2;
filename "linux-install/pxelinux.0";
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers xxx.xxx.xxx.xxx;
}
host bbb {
hardware ethernet 00:C0:9F:1F:xx:xx;
fixed-address 192.168.1.2;
filename "linux-install/pxelinux.0";
}
요렇게 해 놓으면 둘다 dhcp를 받아가긴하는데.. eth1 만 여전히 tftp로 파일을 못 받아가고..
tftp가 전혀 진행이 안됩니다. 16진수 파일 찾는 것 까지도 진행이 안됩니다.
그냥 dhcp 받고 boot file이 없다고만 하고 땡입니다.
그렇다고 서버쪽 클라이언트쪽 h/w적으로 이상있는것은 아닙니다. eth1혼자만 인터페이스 띄우고 dhcp 띄우고 돌리면 받아 갑니다.
왜 그럴까요?? 어떻게 잘못되었는지 도무지 모르겠습니다. ㅡㅡ; 그리고 shared network 설정은 첨 해봤는데 위에 대로 하면 되는지..
댓글 달기