랜 카드 두 개 쓰기

purewell의 이미지

일단 리눅스 박스에 랜카드가 두개 달려 있습니다.

처음에는 한 장만 잡아서 썼는데...

이런 것이 있더군요...

Quote:
랜카드 첫번째장은 input만,
두번째장은 output만 하게해서 선로 부하량을 줄일 수 있다

이거 이런 기술(?)의 정확한 용어는 뭐라고 하며,

어떻게 구현해야 하나요????

octo16의 이미지

EtherChannel, Channel Bonding, Link Aggregation, Trunking 등등
여러가지 용어가 쓰입니다.
용어에 따라 그 구현방법이 조금씩 다르기도하고, 사용되는 플랫폼에도 차이가 있긴 하지만, 궁극적인 목적은 동일합니다.

arwace의 이미지

레드헷에서 채널 본딩(Channel Bonding)하는 방법입니다.

일단 커널이 bonding을 지원하도록 컴파일 되어 있어야 됩니다.
레드헷 7.x 이후의 기본 커널은 모듈로 지원하도록 컴파일 되어 있습니다

먼저 모듈을 로드하도록 /etc/conf.modules 에 아래 라인을 등록합니다

alias bond0 bonding

다음에 랜카드 설정을 해야 합니다.

/etc/sysconfig/network-scripts 에 ifcfg-bond0 파일을 아래 내용으로 추가합니다

DEVICE=bond0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
IPADDR=xxx.yyy.zzz.nnn
NETMASK=255.255.255.xxx
NETWORK=xxx.yyy.zzz.nnn
BROADCAST=xxx.yyy.zzz.nnn

랜카드 2장이 있을 경우에.. eth0, eth1 이라면

ifcfg-eth0 및 ifcfg-eth1 의 내용은 다음과 같습니다.

ifcfg-eth0
------------------------
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

ifcfg-eth1
------------------------
DEVICE=eth1
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

이제 리부팅 합니다.

리부팅 후 ifconfig 하면

bond0 Link encap:Ethernet HWaddr 00:C0:9F:1B:50:78
inet addr:xxx.yyy.zzz.nnn Bcast:xxx.yyy.zzz.kkk Mask:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:127044928 errors:0 dropped:0 overruns:0 frame:0
TX packets:200054132 errors:0 dropped:0 overruns:88 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 Kb) TX bytes:0 (0.0 Kb)

eth0 Link encap:Ethernet HWaddr 00:C0:9F:1B:50:78
inet addr:xxx.yyy.zzz.nnn Bcast:xxx.yyy.zzz.kkk Mask:255.255.255.0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:42727937 errors:0 dropped:0 overruns:0 frame:0
TX packets:66684711 errors:0 dropped:0 overruns:29 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 Kb) TX bytes:0 (0.0 Kb)
Interrupt:20 Base address:0x3000

eth1 Link encap:Ethernet HWaddr 00:C0:9F:1B:50:78
inet addr:xxx.yyy.zzz.nnn Bcast:xxx.yyy.zzz.kkk Mask:255.255.255.0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:42122186 errors:0 dropped:0 overruns:0 frame:0
TX packets:66684711 errors:0 dropped:0 overruns:31 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 Kb) TX bytes:0 (0.0 Kb)
Interrupt:21 Base address:0x5000

위와 같은 내용이 나옵니다.

ping 또는 네트웍을 사용하는 커맨드를 사용한 후.
다시 ifconfig 로
각각의 트래픽이 동일하게 변화하는 지를 확인해서 bonding 이 제대로 되는 지 알수 있습니다.

그럼..

escalix의 이미지

저도 같은 고민으로 현재 검색하고 찾아보고 있습니다.
제가 현재 답변드리는 방법이외에 더 좋은 방법이 있다면
제 멜인 escalixx@gmail.com 으로 보내주셨으면 좋겠네요.

두개의 랜카드에서 한쪽은 Input만 한쪽은 Output만 사용??

위의 답변을 참고로 Channel Bonding을 시현해 봤습니다.
하지만 다른 각각의 기능만을 사용 할 수 없더군요...
그러다 option으로 broadcast 기능의 mode를 바꿔 사용해보니.
되더라구요 하지만 이건 반쪽짜리 였습니다. 왜냐하면 입력이되고
옵션에 맞추어 양쪽다 날라가는 구조였던거죠... Bonding은 분배하여
인식하고 사용되도록 고안된것 같더라구요. 계속 찾아보니까요.

그래서 다른 방법을 찾다... 가장 근접한 3가지 방법을 찾았습니다.

1. 소스로 구현하여 SO_BINDTODEVICE 옵션 사용 방법
2. iptable 로 구현
3. bridge 로 구현

입니다. 이 세가지가 가장 근접한듯...
다른 의견있으면 답글 달아주세요.
저도 아직도 최적화 방법을 찾고 있습니다.

escalix의 이미지

댓글 달기

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