Åëëçíéêü Bridging mini-Howto Christopher Cole cole@coledd.com v1.11, 7 Óåðôåìâñßïõ 1998 Ôï Ýããñáöï áõôü ðåñéãñÜöåé ðùò íá óôÞóåôå ìéá ethernet ãÝöõñá. Ôé åßíáé ìéá ethernet ãÝöõñá; Åßíáé ìéá óõóêåõÞ ðïõ åëÝã÷åé ôá ðáêÝôá äåäïìÝíùí ìÝóá óå Ýíá õðïäßêôõï ðñïóðáèþíôáò íá ìåéþóåé ôçí êõêëïöïñßá. Ç ãÝöõñá åßíáé óõíÞèùò ìåôáîý äýï îå÷ùñéóôþí ïìÜäùí õðïëïãéóôþí, ðïõ åíþ ìéëïýí ðïëý ìåôáîý ôïõò, óðáíßùò ìéëÜ ç ìéá ïìÜäá ìå ôçí Üëëç. ¸íá êáëü ðáñÜäåéãìá åßíáé áí óêåöôïýìå ìéá ïìÜäá ìå Mac intosh êáé ìéá ïìÜäá ìå Unix ìç÷áíÞìáôá. Êáé ïé äýï ïìÜäåò Ý÷ïõí áõîçìÝíç êßíçóç åíôüò ôïõò, ïðüôå ç êßíçóç áõôÞ äçìéïõñãåß óõãêñïýóåéò ìå ôçí êßíçóç ôçò Üëëçò ïìÜäáò. Ç ãÝöõñá ôïðïèåôåßôå ìåôáîý ôùí äýï ïìÜäùí. Ç äïõëåéÜ ôçò åßíáé íá åëÝã÷åé ôá äåäïìÝíá ðïõ áíôáëëÜóóïíôáé êáé íá áðïöáóßóåé áí ÷ñåéÜæåôáé íá ðåñÜóïõí óôçí Üëëç ðëåõñÜ ôçò ãÝöõñáò. Ôï áðïôÝëåóìá åßíáé Ýíá ãñçãïñüôåñï êáé ðéï éó÷õñü äßêôõï ìå ëéãüôåñåò óõãêñïýóåéò. --- Ãéá ïðïéáäÞðïôå ó÷üëéá, äéïñèþóåéò, êëð ó÷åôéêÜ ìå ôçí åëëçíéêÞ ìåôÜöñáóç åðéêïéíùíÞóôå ìå ôïí Ðáíáãéþôç Âïõäïýñç óôç äéåýèõíóç: panos@veria1.freeserve.co.uk ______________________________________________________________________ Table of Contents 1. Setup 2. Óõ÷íÜ ðñïâëÞìáôá ______________________________________________________________________ 1. Setup 1. Âñåßôå ôï ``Bridge Config'': <ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz> 2. ÅíåñãïðïéÞóôå ðïëëáðëÝò ethernet óõóêåõÝò âÜæïíôáò ôï ðáñáêÜôù óôï /etc/lilo.conf, êáé îáíÜ-ôñÝ÷ïíôáò ôï lilo: append = "ether=0,0,eth1" Áí Ý÷åôå ôñåéò óõóêåõÝò óôç ãÝöõñá âÜëôå ôï ðáñáêÜôù áíôß ôùí Üíù: append = "ether=0,0,eth1 ether=0,0,eth2" Ðåñéóóüôåñåò óõóêåõÝò ìðïñïýí íá ðñïóôåèïýí ìå ðåñéóóüôåñåò äçëþóåéò ether. ¸íáò Ýôïéìïò ðõñÞíáò øÜ÷íåé ãéá ìßá êÜñôá êáé ìüëéò ôç âñåé óôáìáôÜ ôï øÜîéìï. Ìå ôçí ðáñáðÜíù åíôïëÞ óõíå÷ßæåé íá øÜ÷íåé êáé ìåôÜ ôçí ðñþôç êÜñôá. Áíôß ôùí Üíù, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôçí ðáñáêÜôù ðáñÜìåôñï åêêßíçóçò: linux ether=0,0,eth1 ¹ ìå 3 óõóêåõÝò: linux ether=0,0,eth1 ether=0,0,eth2 3. Áíáìåôáëùôôßóôå ôïí ðõñÞíá ìå ôï BRIDGING åíåñãïðïéçìÝíï. 4. Ç ãÝöõñá äå èá ðñÝðåé íá Ý÷åé IP äéåýèõíóç. ÌÐÏÑÅÉ íá Ý÷åé áëëÜ ìéá áðëÞ ãÝöõñá äåí ôçí ÷ñåéÜæåôáé. Ãéá íá áöáéñÝóåôå ôçí IP äéåýèõíóç áðü ôç ãÝöõñÜ óáò, ðçãáßíåôå óôï /etc/sysconfig/network- scripts/ (ãéá RedHat óýóôçìá) êáé áíôéãñÜøôå ôï ifcfg-lo0 óå ifcfg- eth0 & ifcfg-eth1. Óôá äýï áõôÜ áñ÷åßá áëëÜîôå ôç ãñáììÞ ðïõ ðåñéÝ÷åé ôï ``DEVICE=lo'' óå ``DEVICE=eth0'' êáé ``DEVICE=eth1''. ¶ëëåò äéáíïìÝò ìðïñåß íá äéáöÝñïõí, êÜíôå ü,ôé ÷ñåéÜæåôáé! Áí Ý÷åôå ðÜíù áðü äýï óõóêåõÝò óôç ãÝöõñá óéãïõñåõôåßôå íá äéïñèþóåôå üëåò ôéò ñõèìßóåéò. 5. Åðáíåêêßíçóç, þóôå íá Ý÷åôå ôïí íÝï ðõñÞíá êáé îáíáóéãïõñåõôåßôå üôé ç ãÝöõñá äåí Ý÷åé IP äéåõèýíóåéò. 6. Ìüëéò ôï óýóôçìá îåêéíÞóåé, âÜëôå ôéò ethernet êÜñôåò óå promiscuous mode, þóôå íá åëÝã÷ïõí ïôéäÞðïôå ðåñíÜåé áðü áõôÝò: ifconfig eth0 promisc ; ifconfig eth1 promisc ¼ëåò ïé êÜñôåò ðïõ åßíáé íá óõíäåèïýí óå ãÝöõñá ðñÝðåé íá ìðïõí óå promiscuous mode. 7. ÅíåñãïðïéÞóôå ôï bridging ÷ñçóéìïðïéþíôáò ôï ðñüãñáììá brcfg: brcfg -ena 8. Âåâáéùèåßôå üôé õðÜñ÷åé äéáöïñåôéêÞ êßíçóç óå êÜèå ôìÞìá: tcpdump -i eth0 (in one window) tcpdump -i eth1 (in another window) 9. ÔñÝîôå Ýíá sniffer Þ ôï tcpdump óå Üëëï ìç÷Üíçìá ãéá íá äåßôå üôé ç ãÝöõñá áðïêüðôåé ôá ôìÞìáôá êáíïíéêÜ. 2. Óõ÷íÜ ðñïâëÞìáôá 1. Question Ðáßñíù ôï ìÞíõìá ioctl(SIOCGIFBR) failed: Package not installed Ôé óçìáßíåé; Answer Äåí Ý÷åôå bridging äõíáôüôçôåò óôïí ðõñÞíá. ÐÜñôå ðõñÞíá 2.0 Þ ìåãáëýôåñï, êáé áíáìåôáãëùôôßóôå ôï ìå ôçí åðéëïãÞ BRIDGING åíåñãïðïéçìÝíç. 2. Question Ìç÷áíÞìáôá óôç ìßá ðëåõñÜ äå ìðïñïýí íá êÜíïõí ping óôçí Üëëç! Answer · ÅíåñãïðïéÞóáôå ôï bridging ìå ``brcfg -ena''; (ôï brcfg èá ðñÝðåé íá ëÝåé ``bridging is ENABLED'') · ÂÜëáôå ôéò êÜñôåò óå promiscuous mode? (ãñÜøôå ``ifconfig''. Ôï ``PROMISC'' ðñÝðåé íá åìöáíéóôåß êáé óôéò äýï ðëåõñÝò.) · Áí ÷ñçóéìïðïéåßôå êÜñôåò äéáóýíäåóçò ðïëëáðëþí ìÝóùí óéãïõñåõôåßôå üôé ôï óùóôü Ý÷åé åíåñãïðïéçèåß. ºóùò ÷ñåéáóôåß íá ÷ñçóéìïðïéÞóåôå ôï ðñüãñáììá ñõèìßóåùí ðïõ ðÞñáôå ìå ôçí êÜñôá. 3. Question Äå ìðïñþ íá êÜíù telnet/ftp áðü ôç ãÝöõñá! Ãéáôß; Answer Áõôü äå ãßíåôáé åöüóïí äåí õðÜñ÷åé IP äéåýèõíóç óôç ãÝöõñá. Ç ãÝöõñá ðñÝðåé íá åßíáé Ýíá äéÜöáíï ìÝñïò ôïõ äéêôýïõ. 4. Question Ôé ðñÝðåé íá êÜíù ãéá íá ñõèìßóù ôç äñïìïëüãçóç; Answer Ôßðïôá! Ç äñïìïëüãçóç åëÝã÷åôáé áðü ôïí êþäéêá ôïõ ðõñÞíá. Ãéá íá äåßôå ôéò ethernet äéåõèýíóåéò üðùò ìáèáßíïíôáé áðü ôç ãÝöõñá ÷ñçóéìïðïéÞóôå ôï brcfg óå debug mode: brcfg -deb 5. Question Ç ãÝöõñá öáßíåôáé íá äïõëåýåé, áëëÜ ôï ``traceroute'' äå äåß÷íåé ôç ãÝöõñá ùò ìÝñïò ôçò äéáäñïìÞò. Answer Ëüãù ôçò öýóçò ôçò ãÝöõñáò, ôï ``traceroute'' ÄÅÍ ðñÝðåé íá äåßîåé ôç ãÝöõñá. Ç ãÝöõñá åßíáé äéáöáíÞò óôï äßêôõï. 6. Question Åßíáé áðáñáßôçôï íá ìåôáãëùôôßóù ôïí ðõñÞíá ìå IP_FORWARD; Answer ¼÷é. Ï êþäéêáò ãéá ôï bridging óôïí ðõñÞíá öñïíôßæåé ãéá ôç ìåôáöïñÜ. Ôï IP_FORWARD åßíáé ãéá ðýëç ðïõ Ý÷åé IP äéåýèõíóç. 7. Question Ãéáôß ïé äéåõèýíóåéò ãéá ôç èýñá 1 êáé èýñá 2 åßíáé ßäéåò óýìöùíá ìå ôï ``brcfg''; Äå èá Ýðñåðå íá åßíáé äéáöïñåôéêÝò; Answer ¼÷é. ÊÜèå èýñá óôç ãÝöõñá Ý÷åé åðßôçäåò ôçí ßäéá äéåýèõíóç, üðùò äßíåôáé áðü ôïí êþäéêá ôïõ bridging. 8. Question Ôï bridging äåí åìöáíßæåôáé ùò åðéëïãÞ üôáí êÜíù make config ãéá ôïí ðõñÞíá. Ðùò ôï åíåñãïðïéþ; Answer ÊáôÜ ôçí ðáñáìåôñïðïßçóç, áðáíôÞóôå 'Y' óôçí åñþôçóç: ``Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?]''. 9. Question Ðïëëïß êüìâïé (hubs, 4 Þ ðáñáðÜíù) óõíäåìÝíá óå óåéñÜ ðñïêáëïýí ðñïâëÞìáôá óõã÷ñïíéóìïý óå ethernet. Ôé åðéðôþóåéò Ý÷åé áõôü óå Ýíá õðïäßêôõï ðïõ åßíáé óôçìÝíï ìå hubs; Answer Ç ãÝöõñá áíáïñßæåé ôïí êáíüíá ôùí 3/4/5 êüìâùí. Ç ãÝöõñá äåí ÷åéñßæåôáé ôá ðáêÝôá äåäïìÝíùí üðùò Ýíá hub, ïðüôå äåí äçìéïõñãåß ðñïâëÞìáôá óõã÷ñïíéóìïý óôï äßêôõï. 10. Question Ìðïñåß ìéá ãÝöõñá íá óõíäÝóåé äýï ôìÞìáôá ìå 10Mb êáé 100Mb; ÔÝôïéá äéáìüñöùóç èá åðçñåÜóåé ôçí ôá÷ýôçôá óôçí ãñÞãïñá ðëåõñÜ; Answer Íáé, ç ãÝöõñá ìðïñåß íá óõíäÝóåé Ýíá ôìÞìá 10Mb ìå Ýíá ôìÞìá 100Mb. Åöüóïí ç êÜñôá äéêôýïõ óôï ãñÞãïñï äßêôõï öôÜíåé ôá 100Mb, ôï TCP öñïíôßæåé ãéá ôá õðüëïéðá. ÖõóéêÜ, ôá äåäïìÝíá áðü ôï ãñÞãïñï ðñïò ôï áñãü ôìÞìá èá ìåôáöÝñïíôáé ìå 10Mb/s, áëëÜ ç õðüëïéðç êßíçóç óôï ãñÞãïñï äßêôõï äåí åðéâñáäýíåôáé.