리눅스 다수개의 NIC 카드 설정 문의

koreteck의 이미지

안녕하세요.

리눅스 서버의 NIC 카드를 설정하다 이상현상이 발생하여 이렇게 글을 올립니다.

몇일째 이걸 잡고 씨름중인데, 난감하여 도움 요청드립니다.

현재 리눅스 페도라7 커널 2.6.9-78.ELsmp를 사용하고 있습니다.

NIC은 총 2포트씩 2개, 총 4개를 사용하고 있습니다.

이 4개의 NIC 포트들의 모두 드라이버 설치가 잘되어 있으며, 개별적으로 동작 시 잘 동작하고 있습니다.

물론 IP도 개별적으로 할당하였습니다.

이 4개를 하나의 네트워크에서 동시에 다음과 같은 구조로 사용하려고 하는데요.

리눅스 서버----- eth0 : RAID 장비
|-- eth1 : 카메라 장비
|-- eth2 : 모니터링 장비
|-- eth3 : .......

문제는 커널 부팅 후, 4개를 한번에 활성화 시키거나 한개를 먼저 활성화 시킨 후 차례대로 활성화 시켜도

제일 먼저 잡히는 NIC Port를 잡아서 대표 포트로 사용해버립니다.

그러니까 eth0이 먼저 올라가면, 4개의 IP를 통한 통신이 모두 eth0을 통해서 통신을 합니다.

4개의 NIC 포트에 각각 랜선을 연결해도 eth0번의 랜선을 제거하면 나머지 NIC 포트들은 통신이 안되는거죠.

보통 다른 네트워크의 중간에서 라우팅 기능으로 사용하셔서 이런 경우는 잘없더군요.

관계는 없지만, IRQ를 공유하는 건 아닌가 의심도 해서 확인해봤지만 별개도 할당되어 있네요.

이런 문제를 겪어보셨거나 알고 계신분이 계시면 조언 부탁드립니다.

그럼 좋은 하루 되십시오.

해결책이 나올때까지 삽질의 세계로 다시 들어가야겠네요.

koreteck의 이미지

자문자답이네요.

커널에서는 같은 아이피 대역일 경우, 제일 처음 잡히는 장치를 대표 포트로 사용하는 듯 합니다. 이건 아마 가상IP를 이용해서 하나의 랜포트를

여러개의 IP로 분할 하여 사용할 경우를 위한 부분인 것 같은데요.

제가 해결한 방법은 소켓옵션 setsocketopt()을 사용하여 특정 IP와 특정 디바이스를 묶어주는 방법을 사용하였습니다.

setsockopt(m_ServerSocket, SOL_SOCKET, SO_BINDTODEVICE, (char *)m_ServerDevice, sizeof(m_ServerDevice))

여기서 ServerDevice에 eth0/eth1/eth2/eth3번을 지정해주니, 소켓에 할당된 IP에 대한 패킷이 해당 포트로 들어오는 경우에만 동작하게 되더군요.

이전 kldp를 검색하다가 발견하게 되었습니다.

그럼 좋은 하루들 되세요. ^^

preisner의 이미지

이런 경우 udev 를 이용하시는 것도 좋은 방법입니다.
구글링 해보시면 관련 자료가 많이 있으므로..

댓글 달기

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