eth0,1,2,3 이렇게 4개의 인터페이스를 어떻게 하나로 묶어야 할까요?

ironboy의 이미지

하핫... 어떻게 검색을 해야할 지,
질문을 해야할지.. 감이 안잡히네요.

질문을 예를 들어서...
질문하자면..,

PC에다가 5장의 랜카드를 꼽고,
기존의 IP공유기와 같은 기능을 구현하기위해,

eth0 - WAN
eth1 - 4 - LAN

요렇게 환경을 설정하려고 한다면...
기본적으로 eth1 ~ eth4까지는
같은 네트웍이니.... 마치 HUB와도 같이
서로 패킷을 바이패스해야 하잖아요?

이걸 어떻게 설정해야 하죠? (어디서 설정해야하죠?)

..........

즉, 두장의 랜카드를 이용해서, IP공유기의 기능을
만드는 방법은 대충 알겠습니다.
iptables...등등을 이용해서요.

그런데, LAN 부분이 여러게의 인터페이스가 될 경우,
어디서 어떻게 변경이 필요한지 모르겠어서,
질문을 드립니다.

감사합니다. ^^;;

sunyzero의 이미지

network channel bonding 을 찾아보시기 바랍니다

========================================
* The truth will set you free.

익명 사용자의 이미지

이게 L 2 스위치 칩없이 ethernet card만 가지고 가능한가요 ?

MAC 러닝 없이는 리눅스에서 무슨 수작을 하든지 CPU 까지 패킷이 올라 왔다가 나가야 한다는 야기인데...

갑자기 궁금해 지네...

아시는분 들 답변 부탁드립니다.

moonhyunjin의 이미지

제 생각에는 브릿지랑 NAT면 끝날거 같네요.

리눅스로 브릿지 만들면 좋습니다. net fillter 이용가능하니까요.

설정법은 wiki.kldp.org가면 다 있습니다. 저도 그거 보고 했어요.

<- 이거면 안 되는 게 없어~
정품 소프트웨어 사용 캠패인

익명 사용자의 이미지

ethernet bridge에 대해서도 조사해 보세요.

http://bridge.sf.net/

익명 사용자의 이미지

근본적으로

LAN이 하나일때와 크게 차이가 없습니다.

단 LAN 간의 패킷이 포워드되게 설정을 해줘야 되죠.

iptables로 해결가능합니다.

익명 사용자의 이미지

sunyzero wrote:
network channel bonding 을 찾아보시기 바랍니다

채널 본딩 아닙니다.

익명 사용자의 이미지

Anonymous wrote:
근본적으로

LAN이 하나일때와 크게 차이가 없습니다.

단 LAN 간의 패킷이 포워드되게 설정을 해줘야 되죠.

iptables로 해결가능합니다.

iptables 상관 없습니다.

jachin의 이미지

각 LAN Card마다 IP를 할당해주지 않고 eth1~4 가 같은 IP를 써야 한다는 얘기네요...? ^^;;;

저도 정말 궁금합니다. 그럴 수 있는지...

예전에 카드중에 스위치 허브 기능을 갖는 4 Port 카드를 본 적이 있습니다만,

그런것이 아니라면 전 LAN Card 로는 불가능할 것 같습니다. ^^a

커널에서 TCP/IP 부분에 그런 기능이 있었던가요?

sunyzero의 이미지

다시 읽어보니 브릿지로 해결할 수 있을거 같은 생각이 드는데...

정 안되면 커널단에 프로그래밍을 해주면 됩니다.

========================================
* The truth will set you free.

ironboy의 이미지

sunyzero wrote:
다시 읽어보니 브릿지로 해결할 수 있을거 같은 생각이 드는데...

정 안되면 커널단에 프로그래밍을 해주면 됩니다.


그렇담.. 모든 패킷을 읽어들여서,
모든포트(혹은 해당 MAC의 포트)로 보내도록
코딩해야 한다는 말씀이신가요?

음... 뭔가... 허전한데.. 그 이유를 모르겠군요.

swunk의 이미지

최초에 질문 하신 분의 내용은 이게 아닌듯 한데...

리눅스에서 무슨 작업을 해 준다는 얘기는 CPU까징 패킷을 끌어 올려서 무엇인가를 처리한다는 말인데...그렇다면 L2 에서 포워딩이 된다는 야기가 아닙니다.
즉, Switch의 MAC 러닝 기법이 있어서 포트마다 포워딩 테이블을 가지고 있어서 이더넷 맥주소만 가지고 인풋포트와 아웃풋 포트가 결정되어야 하는데 그러한 기능은 스위치 칩이 없으면 불가능 하지 않을까 싶습니다.
랜카드가 아주 독특한게 있으면 모를까...

여튼 질문자는 위에서 말씀하신 NAT 뭐 이런거를 물어보는게 아닌거 같습니다.

ironboy의 이미지

jachin wrote:
각 LAN Card마다 IP를 할당해주지 않고 eth1~4 가 같은 IP를 써야 한다는 얘기네요...? ^^;;;

저도 정말 궁금합니다. 그럴 수 있는지...

예전에 카드중에 스위치 허브 기능을 갖는 4 Port 카드를 본 적이 있습니다만,

그런것이 아니라면 전 LAN Card 로는 불가능할 것 같습니다. ^^a

커널에서 TCP/IP 부분에 그런 기능이 있었던가요?


swunk wrote:
최초에 질문 하신 분의 내용은 이게 아닌듯 한데...

리눅스에서 무슨 작업을 해 준다는 얘기는 CPU까징 패킷을 끌어 올려서 무엇인가를 처리한다는 말인데...그렇다면 L2 에서 포워딩이 된다는 야기가 아닙니다.
즉, Switch의 MAC 러닝 기법이 있어서 포트마다 포워딩 테이블을 가지고 있어서 이더넷 맥주소만 가지고 인풋포트와 아웃풋 포트가 결정되어야 하는데 그러한 기능은 스위치 칩이 없으면 불가능 하지 않을까 싶습니다.
랜카드가 아주 독특한게 있으면 모를까...

여튼 질문자는 위에서 말씀하신 NAT 뭐 이런거를 물어보는게 아닌거 같습니다.


아하.... 그렇네요.
eth1 에서 eth2로 패킷을 보낼경우
두장의 네트워크 카드라면, 당연히 CPU를 거쳐야 겠군요.

하드웨어에서 L2 포워딩을 지원하지 않는다면...
말이죠... 좀 심하게 헛갈려 했습니다. ^^;;

jachin님이 말씀하신, 4port LAN카드를 찾아봐야 겠군요.

감사합니다.

sangwoo의 이미지

브릿지를 구성하면 IP address 없이 L2에서 패킷 교환이 가능합니다.
지금 구성으로도 충분히 가능할 거 같은데요?

----
Let's shut up and code.

ironboy의 이미지

sangwoo wrote:
브릿지를 구성하면 IP address 없이 L2에서 패킷 교환이 가능합니다.
지금 구성으로도 충분히 가능할 거 같은데요?

오옷.. 그런가요?
죄송한데, 힌트 좀....

간단히 구현한 수 있는 툴..유틸리티가 있을까요?

jongwooh의 이미지

ironboy wrote:
sangwoo wrote:
브릿지를 구성하면 IP address 없이 L2에서 패킷 교환이 가능합니다.
지금 구성으로도 충분히 가능할 거 같은데요?

오옷.. 그런가요?
죄송한데, 힌트 좀....

간단히 구현한 수 있는 툴..유틸리티가 있을까요?

man brctl

you must know the power of dark side.

익명 사용자의 이미지

jongwooh wrote:

...

man brctl

http://bridge.sourceforge.net/

http://ebtables.sourceforge.net/
을 보세요.

전자는 가상(논리) 이더넷 인터페이스를 만들어서 그 가상 인터페이스에 다수개의 이더넷(물리)을 연동시켜 하나의 뷰로 제공하는 것입니다. 10개건 20개건...
일단 인터페이스 하나가 만들어지면 이후는 기존 iptables로 하나의 인터페이스를 다루는 것과 동등하게 동작한다고 생각하시면 됩니다. 단지 루프방지를 위해 STP를 적절히 세팅해야 한다는.... 루프가 없는 경우라면야 문제 없겠지요?

후자는 iptables(layer 3 수준)같은 역할을 하는 layer 2수준의 인터페이스라고 보시면 됩니다. 둘을 잘~ 보면 보는 사람에 돌을 찾을 수도, 사금을 찾을 수도, 다이아몬드를 찾을 수도 때로는 물만먹고 갈 수도 있겠지요.

* 커널 버전 2.4대에서는 이를 세팅하기 위해 좀.... 했습니다만, 2.6에서는 껌이라고 하지요.

코퍼스의 이미지

저는.. 브릿지 관련 일을 커널 버전 2.2 대와 2.4대에서 해봤는데..
2.6에서는 껌이라고요??
(이걸 좋아해야할지..슬퍼해야 할지..음..)

그런데..예전 힐끗 살펴보니.. 2.6서부터는 아예 다른 os 처럼 느껴질 만큼
많이 바뀌어서 정이 안가더군요..^^

A few Good Man

댓글 달기

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