DCHP Client 사용 여부를 어떻게 알수 있나요?

narusas의 이미지

랜카드를 여러개 설치한 시스템입니다.

eth0,eth1,eth2까지 있는데요.

이중에 dhclient(DHCP client)를 통해 IP를 할당 받은 네트워크 인터페이스를 알수 있나요?

Gnome에 있는 네트워크 설정을 보면 DHCP 사용여부를 알수 있는데 GUI가 아니라 터미널을 통해 알 수 있나요?

ifconfig로는 알 방법이 없는 것 같습니다만...

다시 말하자면 지금 네트워크 인터페이스에 설정된 IP가 수동으로 설정된 것인지 아니면 DHCP 서버에서 받아온 것인지 여부를 알고 싶습니다.

mmx900의 이미지

find로 시스템에 interfaces 나 ifcfg-eth[0-2] 파일을 찾아 보세요.

setzer@debian $ cat /etc/network/interfaces
iface eth0 inet static
    address 192.168.0.3
   ...
iface eth1 inet dhcp

setzer@fedora $ cat /etc/sysconfig/networking/devices/ifcfg-eth0
# Intel Corp. PRO/Wireless 2200BG
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
...

Setzer Gabbiani

narusas의 이미지

Fedora를 사용중인데요,

터미널에서 직접 ifconfig eth0 192.168.0.150등으로 직접 설정하거나 dhclient -r 등으로 설정해도 /etc/sysconfig/networking/devices/ifcfg-eth0 이 같이 바뀌지 않습니다.

그냥 Fedora에서 내부적으로 사용하는 정보 같습니다.
현재 상태를 반영하지는 않네요.

익명 사용자의 이미지

narusas wrote:
Fedora를 사용중인데요,

터미널에서 직접 ifconfig eth0 192.168.0.150등으로 직접 설정하거나 dhclient -r 등으로 설정해도 /etc/sysconfig/networking/devices/ifcfg-eth0 이 같이 바뀌지 않습니다.

그냥 Fedora에서 내부적으로 사용하는 정보 같습니다.
현재 상태를 반영하지는 않네요.

그놈에서 dhcp 로 설정된 내용이..

/etc/sysconfig/networking/devices/ifcfg-eth0 등에 설정된 내용과 동일한 것입니다.

eth0 을 dhcp 로 설정했다면, dhcp 서버에서 IP 를 받아오는 것입니다.

ps. 질문을 이해 못하고 있나?

cjh의 이미지

/etc/sysconfig는 단순히 부팅용 설정이니까 이걸로 설정 안하고 명령행에서 수동으로 dhclient 로 잡았다면 구분하기 어렵습니다.

보통은 시스템에 dhclient가 대몬으로 떠 있는지 보면 알 수 있습니다. lease처리를 해야 하므로 dhclient 또는 해당하는 DHCP client가 시스템에 떠 있을 겁니다. ps로 찾아 보세요. dhclient를 단발로 띄웠거나(-1) 하면 정말 구분하기 어렵습니다.

--
익스펙토 페트로눔

narusas의 이미지

그놈에서 네트워크 설정 (애플릿)을 통해 지정한 설정이 /etc/sysconfig/networking/devices/ifcfg-eth0 에 저장이됩니다.

문제는 저장이 된후, 터미널에서 ifconfig로 직접 ip 바꾸거나 또는 dhclient를 직접 실행 시켜서 IP을 얻어오거나 하더라도 /etc/sysconfig/networking/devices/ifcfg-eth0 에는 전혀 반영되지 않습니다.

/etc/sysconfig/networking/devices/ifcfg-eth0 에
BOOTPROTO=dhcp
라고 적혀 있어도

제가 ifconfig eht0 192.168.0.150이라고 명령을 내려도 /etc/sysconfig/networking/devices/ifcfg-eth0의 내용은 바뀌지 않는다는 것이죠.

narusas의 이미지

ps -Al 을 하면 항상 dhclient가 하나는 떠있는 상태입니다.
(어떤 네트워크 인터페이스도 dhcp를 사용하지 않아도 떠있는 상태입니다)

네트워크 설정 상태를 리포트 하는 프로그램을 제작하는 중인데, 이더넷 인터페이스가 DHCP로 IP를 받았는지 여부를 보고하는게 중요한 요구사항중에 하나라서요..

익명 사용자의 이미지

narusas wrote:

/etc/sysconfig/networking/devices/ifcfg-eth0 에
BOOTPROTO=dhcp
라고 적혀 있어도

제가 ifconfig eht0 192.168.0.150이라고 명령을 내려도 /etc/sysconfig/networking/devices/ifcfg-eth0의 내용은 바뀌지 않는다는 것이죠.

해당 파일 내용은 바뀌지 않을 것입니다. 직접 수작업으로 또는 그놈 네트웍 관리 같은 것으로 바꾸어 주어야 합니다.

콘솔에서는 netconfig 비슷한 명령이 있을 듯 하네요.

아무튼 ifconfig eth0 xxx 등으로 했을때 바뀌지는 않습니다.

익명 사용자의 이미지

윈도우즈에서는 ipconfig /all 하면 dhcp 서버 주소를 보여 주는 것 같던데,..
ifconfig에는 이런 옵션이 없나요?

기존 command로 이런 정보를 알아내기는 좀 어려울 듯...

아니면 /proc 아래에서 net쪽 파일들 뒤져 보면 뭐가 나올라나...

제일 확실한 방법이라고 생각되는 것은...
dhcp client와 ifconfig 소스를 구해서 수정 좀 해서 적당한 위치에 파일 하나 만들어서 필요한 정보를 보관하면 간단할 것 같은데...

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.