Dhcp 서버 설정에 관해서 질문 좀 드릴게요~

안녕하세요,
우선 저는 ubuntu 10.04 버전을 사용하고 있습니다.

다름이 아니라 ubuntu 에서 DHCP서버를 만들려고 하거든요.
제가 리눅스 초보라서 그런지 ubuntu사이트에서 매뉴얼 보고 하는데도 잘 작동을 하지 않습니다.

현재 테스트 환경은 공유기에다가 메인 랜선을 하나 꽂고 공유기에서 랜선을 두개 땡겨 와서
DHCP서버랑 client PC를 연결해서 테스트 하고 있습니다.

메인 IP주소는 10.0.1.~ 로 시작하구요.
공유기에서는 192.168.0.~으로 시작합니다.
DHCP 서버를 통해서 IP주소를 20.0.1.~로 바꾸려고 하거든요.

우선 매뉴얼 대로 DHCP3-server를 받았구요.
dhcpd.conf 파일을 매뉴얼에 나와있는 example을 통해서 수정해주었습니다.

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address [color=#FF0000:273qomp6]20.0.1.255[/color:273qomp6];
option routers [color=#FF0000:273qomp6]20.0.1.254[/color:273qomp6];
option domain-name-servers [color=#FF0000:273qomp6]20.0.1.1, 20.0.1.2[/color:273qomp6];
option domain-name "mydomain.example";

subnet [color=#FF0000:273qomp6]20.0.1.0[/color:273qomp6] netmask 255.255.255.0 {
range [color=#FF0000:273qomp6]20.0.1.3 20.0.1.200[/color:273qomp6];
}

이렇게 하고 나서 dhcp 서버를 재시작하니깐 자꾸 fail만 나오네요.

그래서 원인을 찾아보다가 어떤 글을 봤는데, host pc 의 ip 주소가 subnet mask 안에
있어야 된다고 하더라구요.
제 host pc(DHCP 서버)의 주소는 192.168.1.~로 시작하거든요. 공유기에서 뿌려주는 IP라서요.
그래서 설정을 192.168.1.~로 바꾸니깐 잘 동작을 하는거 같았습니다.
서버 재시작하니깐 OK가 나오더라구요.
제가 찾아 본게 제 문제의 해답인지가 궁금합니다.
현재 제가 처한 상황이 이렇구요. 질문을 간단히 하면요.

  1. 결국은 DHCP서버를 구축해서 20.0.1.~의 IP 범위를 줄수가 없는건가요?
    라우터에서 뿌려주는 IP범위를 192.168.0.~ 에서 20.0.1.~으로 바꿔서야만 가능한가요?

  2. DHCP가 동적으로 IP를 client pc에 할당해주는거잖아요.
    근데 공유기에도 DHCP기능이 있는데 왜 궂이 회사에서 DHCP 서버를 구축하려고 하는걸까요?
    단순히 관리 측면에서 그렇게 하는건가요?

혹시 아시는 분 계시면 답변 부탁드립니다~

가상 인터페이스에 20.x.x.x대 IP를 할당하시면 잘 동작할것 같네요

ifconfig eth0:1 20.x.x.x

그런데 근본적인 문제가 좀 있네요.

일반적으로 공유기는 DHCP서버를 가지고 있습니다. 따라서 공유기에 동일 네트웍 선상에 연결된 하드웨어는 해당 DHCP서버를 통해서 IP를 할당 받도록 되어 있습니다. 만약 이 네트웍에 다른 DHCP서버를 붙이게 될 경우 기존 DHCP서버가 작동을 중지하거나 혹은 둘 다 작동하는 상황이 벌어져서 사실상 어떤 IP를 받을 지 알 수 없게 되는 상황이 발생합니다. 이렇게 되면 기존 DHCP서버에서 IP를 받는 컴퓨터는 네트웍에 문제가 없겠지만 새로운 DHCP서버에서 IP를 받게 되는 PC의 경우 문제가 발생할 수 있습니다.

의도하는 것이 이런 상황이라고 생각진 않습니다.

아마도 특정 하드웨어가 다른 대역의 IP를 받기를 기대하는 것이겠죠. 만약 DHCP를 꼭 써야하는 상황이라면 물리적으로 분리된 네트웍으로 설정을 하셔야 합니다. 즉 서버에 해당하는 컴퓨터가 인터넷 연결을 필요로 한다면 두개의 네트웍 인터페이스를 가지고 있게 만들고 하나는 공유기로 연결하고 하나는 별도의 허브로 연결해야만 합니다. 이렇게 할 경우 서버쪽에서 양쪽 하드웨어 인터페이스에 대해서 별도의 IP를 할당하도록 하고 DHCP서버는 특정 인터페이스에만 작동하도록 설정하면 됩니다.

좀 더 쉬운 방법으로는 공유기를 그냥 하나 더 비치하고 공유기 설정에 원하는 IP대역을 입력하고 해당 공유기를 기존 공유기에 연결하는 방법입니다. 이렇게 할 경우 서버에 해당하는 컴퓨터는 두개 공유기 모두에 연결해서 사용될 수 있습니다. 물론 DHCP서버를 설치할 필요도 없죠. 공유기가 이미 하고 있으니.

특정 인터페이스에 DHCP 서버를 묶기 위해서는 "/etc/defaults/dhcp3-server" 에 인터페이스 이름을 적어주면 됩니다.

[attachment=0:2vnn61tg]NetworkShape.png[/attachment:2vnn61tg]

친절한 답변 감사드립니다.
많은 도움이 됐습니다. :lol: