Debian & Ubuntu ifup/down 활용하기 (ethtool link speed 설정)

vamf12의 이미지

제가 잘못 아는것인지는 모르겠지만, 문서화 되지 않은 기능이 있어서 소개해 드립니다.

man interfaces에 없으며, google에서 단한건도 나오지 않는... -_-?

Debian계열은 아래의 파일을 통해서 네트워크 설정을 합니다.

/etc/network/interfaces

interfaces 파일에 대한 간략한 내용은 KLDP WIKI를 참고 하십시오.

/etc/network 디렉토리는 다음의 파일 및 디렉토리를 가지고 있습니다.

if-down.d  if-post-down.d  if-pre-up.d  if-up.d  interfaces

각각의 디렉토리는 ifup/down이 실행될때 자동으로 실행됩니다.

예를 들어 ifup eth0를 실행하면 다음의 코드가 자동으로 실행됩니다.

export IFACE=eth0
run-parts /etc/network/if-up.d

여기 까지는 알려져 있습니다. (문서화는 되어 있지 않읂것 같습니다.

/etc/network/interfaces파일에 알려지지 않은 옵션을 사용하게 되면 해당 옵션은 환경 변수로 설정되어서 하부 스크립트를 실행합니다.
예... 한마디로 왓더... -_-

/etc/netwrok/interfaces를 아래와 같이 설정합니다.

iface eth0 inet static
        address 192.168.1.1
        network 192.168.1.0
        netmask 255.255.255.0
        broadcast 192.168.1.255
        message THIS_IS_SPARTA

그러면 ifup/down을 실행할때, IF_MESSAGE라는 환경 변수가 추가 셋팅되고, 이것을 이용해서 추가적인 작업을 할 수 있습니다.
/etc/network/if-up.d/message 라는 파일을 생성하고 아래의 내용을 추가 합니다.
#!/bin/sh
[ 'x' = "x$IF_MESSAGE" ] || echo $IF_MESSAGE

이렇게 하고 인터페이스를 UP하면
$ ifup eth0
THIS_IS_SPARTA

이걸 이용하는 몇가지 재미난 스크립트기 기본으로 포함되어 있습니다.
/etc/network/if-up.d/ethtool 이 그것입니다. 내부를 살펴보면 이런 저런 설정을 interfaces파일에서 바로 할 수 있습니다.
예를 들어서 link speed를 직접 할당하고 싶을 경우
link_speed라는 환경 변수를 이용해서 설정하도록 되어 있습니다.

iface eth0 inet static
        address 192.168.1.1
        network 192.168.1.0
        netmask 255.255.255.0
        broadcast 192.168.1.255
        link_speed 1000

ethtool에 관련된 작업을 자동으로 하고 싶을경우 번들된 /etc/network/if-*.d/ethtool 을 확인해보고 해당 옵션만 설정해주면 자동으로 설정됩니다.
물론 원하는 기능이 없으면 추가하면 되겠죠 ^^

PS. 구글링 해보면 ethtool를 이용해서 link speed를 직접 적용하고 싶을 경우 /etc/init.d 를 이용하라는 답 밖에 없습니다. link_speed라는 옵션 자체가 구글에서 검색이 않됩니다.

PS2. 저 기능이 도입된건 2000년 이던데 왜 아직까지 알려지지 않았는지 모르겠습니다. -_-

PS3. 참고로 소스 파일을 받아서 읽어보고 알아낸 내용입니다. OTL ㅠ_

Forums: 
lasthope의 이미지

너무나 감사합니다. 마침 찾고 있던 자료였네요..

지금 만들고 있는 서버(우분투10.04)가 대략 열번에 한번 정도는 네트워크에 자동연결이 안되는 현상이 있어서 이리저리 검색하다가 오게 되었습니다.

랜포트가 두개가 달린 메인보드(K8N-Ultra9/DUAL LAN)라서 원인을 분석하는데 어려움이 많네요.

다시한번 감사드립니다. 이렇게 잘 정리해 놓으셨다니,영문 HOWTO문서 부럽지가 않습니다.

Overclocking My Head.

익명 사용자의 이미지

열심히 구글을 찾아봐도 나오는 자료는 없고, 도데체 이게 뭔가 싶었는데
이렇게 친절히 설명해주시다니^^
복 받으세요

댓글 달기

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