Linuxdoc Sgml/Bridge
<!doctype linuxdoc system>
<article>
<!-- Title information -->
<title>Bridging mini-Howto</title>
<author>Christopher Cole, <tt><htmlurl url="mailto:cole@coledd.com" name="cole@coledd.com"></tt></author>
<date>v1.21, March 7, 2001 </date>
<trans>차한진 <tt><htmlurl url="mailto:maylinux@korea.com" name="maylinux@korea.com"></tt></trans>
<tdate>2001년 3월 19일</tdate>
<abstract>
이 문서는 Ethernet bridge 설정하는 방법을 설명하고 있다. Ethernet bridge란 무엇인가? 많은 양의 데이터 비트의 소통량을 나누는 서브넷의 데이터 패킷을 커트롤 하는 장치이다. Bridge 는 같은 그룹안의 다른 컴퓨터 사이에 항상 존재한다. 하지만 다른 그룹에 있는 컴퓨터까지 포함하지는 않는다. 좋은 예로 맥켄토시의 크러스터와 유닉스의 크러스터를 들수 있다. 그 머신들은 그들 의사소통을 하게한다, 그리고 데이터 소통은 각 머신간의 소통에 의한 데이터 충돌(collisions)이 일어나는 윈인을 만들어낸다. Bridge 는 데이터 패킷이 도착할 목적지와 행선지를 검토하고 다른 이더넷 세크먼트를 경유할것인지 안 할것인지 결정하는 일을 한다. 그 결과 네트워크를 더 빠르고 안정성 있으며 충돌을 줄일수 있다.
역자...Bridge 는 각 네트워크를 연결하는 장치, 방법을 일켯는 말로
굳이 변역하지 않고 Bridge 라는 단어를 썼음을 알려드립니다..그리고 오타나 오역이 있으면 메일을 보내주시기 바랍니다.
</abstract>
<!-- Table of contents -->
<toc>
<sect>설치
<p>
<enum>
<item>``Bridge Config''를 구한다.
<tscreen>
<url url="ftp://ftp.tux.org/people/alan-cox/BRCFG.tgz">
</tscreen>
<verb>
BRCFG는 http 에서도 구할수 있다.
</verb>
<tscreen>
<url url="http://coledd.com/networking/bridge/">
</tscreen>
<item>복수의 이더넷장치를 사용할수 있도록 <tt>/etc/lilo.conf</tt>에 다음과 같이 추가하라. 그리고 <tt>lilo</tt>를 재실행시켜라.
<tscreen>
<verb>
append = "ether=0,0,eth1"
</verb>
</tscreen>
만일 당신이 세개의 이더넷장치를 가지고 있다면, 다음 라인으로 대신하라.
<tscreen>
<verb>
append = "ether=0,0,eth1 ether=0,0,eth2"
</verb>
</tscreen>
<!--
</p>
-->
<!--
<p>
-->
더 많은 장치가 있더라도 같은 방식으로 추가 할수 있다. 기본적으로 리눅스커널은 한개의 이더넷카드를 지원하게 되어있다. 위와 같은 append 설정으로 많은 이더넷카드를 지원하게 할수 있다.
<!--
</p>
-->
<!--
<p>
-->
또 다른 방법으로도 파라미터를 설정할수 있다.
<tscreen>
<verb>
linux ether=0,0,eth1
</verb>
</tscreen>
만일 세개의 장치라면:
<tscreen>
<verb>
linux ether=0,0,eth1 ether=0,0,eth2
</verb>
</tscreen>
<!--
</p>
-->
<item><tt>BRIDGING</tt>이 가능하도록 커널을 재컴파일하여라.
<item>bridge는 IP address 를 꼭 필요한건 아니다. 일반적인 bridge 에서는 필요가 없다. 너의 bridge 에서 IP address 제거하라. 그리고 <tt>/etc/sysconfig/network-scripts/</tt> (for a RedHat system)로 이동하라. 그리고 <tt>ifcfg-lo0</tt>를 <tt>ifcfg-eth0</tt> 와 <tt>ifcfg-eth1</tt>로 복사하라. 2개의 파일안의 "<tt>DEVICE=lo</tt>"' 을 "DEVICE=eth0</tt>" 와 "<tt>DEVICE=eth1</tt>"로 변경하라. 다른 배포판에 따라 약간 다를수 있다. 하지만 크게 다르지 않으니 설정에 어려움을 없을 것이다. 2개이상의 이더넷장치가 있다면 앞에서 언급한 바와 같이 설정하면 된다.
<item>재부팅, 그리고 bridging 이 된 새로운 커널로 실행해야한다. 그러면 네트워크 인터페이스상에 경계가 없는 IP 어드레스를 얻게 될것이다.
<item>시스템에서 백업해둔 것을 이더넷카드설정에 다시 적용한다. (물론 처음부터 다시 설정해도 되겠지만, 조금 귀찮으니) 그러면 당신은 그 장치를 통과하는 모든 패킷을 볼수 있다.
<tscreen>
<verb>
ifconfig eth0 promisc ; ifconfig eth1 promisc
</verb>
</tscreen>
Bridge 네트워크에 연결된 모든 장치들은 설정을 위와 같이 해야한다.
<item><tt>brcfg</tt> 프로그램이 사용가능하도록 enable 시킨다.
<tscreen>
<verb>
brcfg -ena
</verb>
</tscreen>
<item>각 장치에서 데이터소통을 확인하라.
<tscreen>
<verb>
tcpdump -i eth0 (in one window)
tcpdump -i eth1 (in another window)
</verb>
</tscreen>
<item>다른 머신에서 sniffer를 실행하거나<tt>tcpdump</tt>로 bridge 가 세그먼트를 정확히 분류하는 확인하라.
</enum>
</p>
<sect>보편적인 문제들
<p>
<enum>
<item>
<descrip>
<tag/Question/
다음과 같은 메세지가 출력됐다.
<tscreen>
<verb>
ioctl(SIOCGIFBR) failed: Package not installed
</verb>
</tscreen>
이건 무슨 의미인가??
<tag/Answer/
당신의 커널에서 bridging 능력을 지원을 하지 못한 것이다. 2.0 이상의 커널을 다운받아서, <tt>BRIDGING</tt> 이 가능하도록 재 컴파일하라.
</descrip>
<item>
<descrip>
<tag/Question/
한쪽 머신에서 다른 머신쪽으로 ping을 할수 없다.
<tag/Answer/
<itemize>
<item>당신은 "<tt>brcfg -ena</tt>"을 실행했는가? (<tt>brcfg</tt> 가 "<tt>bridging is ENABLED</tt>")를 출력해야한다.
<item>장치에 모드설정을 하였는가? "<tt>ifconfig</tt>" 명령어가 핵심이다. "<tt>PROMISC</tt>" 표시가 장치 모두에서 나타나야 한다.
<item>여러개의 장치 어댑터를 사용한다면 올바른 하나만을 사용해야 한다. 그리고 그 네트워크 장치에 대해 설치와 설정을 해야한다.
</itemize>
</descrip>
<item>
<descrip>
<tag/Question/
<tt>telnet</tt>/<tt>ftp</tt> 를 bridge로 부터 연결할수 없다.
<tag/Answer/
IP address 바운딩이 어떤 bridge 로 부터도 없었기 때문이다. bridge도 네트워크의 일종이다..
</descrip>
<item>
<descrip>
<tag/Question/
라우팅 경로에 대한 설정을 해야하나?
<tag/Answer/
Nothing! 모든 라우팅 정보는 커널의 Bridging 코드에 좌우된다. 당신은 Bridge에 대해 배운 이더넷 어드레스들을 <tt>brcfg</tt> 프로그램의 디버드 모드로 볼수 있다.
<tscreen>
<verb>
brcfg -deb
</verb>
</tscreen>
</descrip>
<item>
<descrip>
<tag/Question/
Bridge 에 의한 작업은 "traceroute" 에 보이지 않는가?
<tag/Answer/
본질적으로 Bridge는 "traceroute" 에 보이지 않는다. Bridge는 네트워크에 한 부분이기 때문이다.
</descrip>
<item>
<descrip>
<tag/Question/
커널의 <tt>IP_FORWARD</tt> 를 재컴파일해야 하는가?
<tag/Answer/
필요없다. 커널에서 Bridging 코드는 패킷을 전송을 관리한다. <tt>IP_FORWARD</tt> 는 각 장치의 아이피 어드레스의 바운딩 되는 게이트웨이이다.
</descrip>
<item>
<descrip>
<tag/Question/
포트 1 ,포트 2 의 이더넷 어드레스가 어떻게 같은 "<tt>brcfg</tt>" 프로그램에 의해 좌우되는가? 두개의 포트를 다르게 설정해야하는가?
<tag/Answer/
아니다. 모든 포트는 Bridging 코드에 의해 같은 이더넷 어드레스로 취급된다.그러므로 필요없다.
</descrip>
<item>
<descrip>
<tag/Question/
커널설정시 Bridging 대한 옵션이 나타나지 않는다. 어떻게 해야하는가?
<tag/Answer/
커널 설정중에 다음과 질문이 나오면 'Y' 로 대답하라.
<tscreen>
<verb>
``Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)[Y/n/?]''.
</verb>
</tscreen>
</descrip>
<item>
<descrip>
<tag/Question/
많은 허브(4 또는 더많은)가 다른 시리얼로 연결된 이더넷에서는 각 시스템에 이더넷 시간분배에 문제가 있다. Bridge 로 설정된 서브넷에서는 허브로 얼마정도로 연결된 정도의 효과가 있는가?
<tag/Answer/
Bridge는 3/4/5 허브정도 초기설정이 되어있다. Bridge는 허브 방식과는 패킷을 처리하는 방법이 틀리다. 그렇기 때문에 네트워크상의 시간분배문제에 잡아먹히지 않는다.
</descrip>
<item>
<descrip>
<tag/Question/
10Mb , 100Mb 이더넷장치를 Bridge가 동시에 지원할수 있는가? 데이터 소통이 빠를때 속도 저하는 없는가?
<tag/Answer/
10Mb , 100Mb 이더넷장치를 두개 다 Bridge 에서 사용할수 있다. 100Mb 와 같은 빠른 네트워크 카드에서는 TCP 는 남는 시간이 있다. 100Mb 의 호스트에서 10Mb 의 호스트로 전송할때의 속도는 10Mb 밖에는 나올수가 없다. 데이터송신의 남는 시간을 속도저하가 아니다.
</descrip>
</enum>
</p>
</article>
|
Show your affection, which will probably meet with pleasant response. |











