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