DHCP 서버가 2개 있을때

young93의 이미지

안녕하세요...

사설망에서 DHCP 서버 2개를 운용하려고 합니다.
서버 A는 PC를 위한 것이고
서버 B는 장비 개발을 위한 실험용 서버입니다.

즉, PC는 A에서 IP를 가져와야 되고
장비는 B에서 IP를 가져와야 되죠.

그런데 DHCP 클라이언트는 브로드캐스트를 하기 때문에
A,B구분없이 먼저 응답을 주는 서버에서 IP는 받는군요.

이런 경우에는 어떻게 구성해야 하는지요.
조언 부탁드립니다.

syjeon의 이미지

사설망에서 서버두개를 사용하게 된다면 일단 네트웍address가
동일하게 되어 기본적으로 Broadcasting을 DHCP Discovery를
위해 사용하게 되어있는 DHCP 규정상 먼저 DHCP Discovery msg를
받은 Server에서 DHCPOFFER메세지를 Broadcasting하게 됩니다.

같은 네트웍에 존재하는 두개의 DHCP서버를 사용해 분류된 IP서비스를
제공하기 위해서는 Client들을 구분해주는 방법을 사용해야합니다.
즉 한쪽은 인증을 통해야만 받게끔, 다른 한쪽은 인증없이 받게끔하던가
아니면 둘다 인증을 통한 DHCP ACK msg를 받게끔 해야하겠죠..
인증이란 말은 '구별'할수 있는 것을 이야기합니다.

이에 대한 자세한 내용은 linux,Unix계열 machine을 사용한다면
man dhcp-options를 보던가 ISC dhcpd를 사용한다면 source디렉토리
내부에 sample로 있는 dhcpd.conf파일을 살펴보면 예가될수 있을것으로
생각합니다.

dhcpd에서 config파일을 구성할때 mac, host-id, vendor extentions..등등
여러가지 구분자를 사용할수 있기 대문에 여러방법이 있을수 있을겁니다.

dhcp client는 기본적으로 dhcp discovery를 broadcasting하여 server를
찾고 server는 dhcp offer를 broadcasting하여 자신이 누구한테 ip를 할당
하겠다고 알리게 되며 다른 서버는 이를 받으면 서비스를 하지 않습니다. 이를
client가 받으면 다시 dhcp request를 offer를 받았다는 확인용도로 날리며
서버는dhcp ack를 client로 날리며 ip를 할당완료하게 되는 절차를 가지고
있습니다.

위 과정에서 client의 config파일에서 dhcp option field로 mac이나 , host-id
vendor extensions등을 설정해주어 dhcp discovery메세지전송시 함께 넣어
broadcasting하게 되면 server쪽에서는 미리 이를 인증해주는 config파일이
존재해서 해당 옵션이 들어있는 discovery메세지만 받습니다. 그후에 이런 메세
지를 처리해주게 됩니다.

이는 dhcpd.conf파일로 구글등에서 찾아보시고, ISC client를 사용한다면
client쪽 config파일명이 dhclient.conf일 것이므로 이를 구글등에서 검색해보
면 예제를 참고하실수 있을것입니다.

위 상황에서 일반 PC가 M$라면 dhcp 옵션을 configuration할수 없는 것으로
전 알고 있는 데 만약 그렇다면 target b'd쪽을 인증을 통해서 하고 나머지 PC
쪽은 인증없이 pool로 할당하게끔 하면 될 것입니다.

------------------Signature
바늘속에서 사막찾기 0.o

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.