Накратко, трябват Network пакетите на всеки произволен линукс. Вижте дали тези три команди ги имате: ifconfig, brctl и tc. Последното не е необходимо за bridge, но има една полезна функция, която може да искате да знаете.
bash-4.1# which ifconfig /sbin/ifconfig bash-4.1# bash-4.1# which brctl /sbin/brctl bash-4.1# bash-4.1# which tc /sbin/tc bash-4.1#
Самото правене на bridge (мост :) )
не е нищо особено, прави се виртуално мрежово име с brctl, добавят му се мрежови карти и се вдига с ifconfig up. В моята тестова система има 3 мрежови карти. Една за интернет и 2 за тестове.bash-4.1# ifconfig | grep eth eth0 Link encap:Ethernet HWaddr 00:01:6C:27:4B:BA eth1 Link encap:Ethernet HWaddr 00:06:4F:29:49:F0 eth2 Link encap:Ethernet HWaddr 00:01:6C:E2:FF:D2 bash-4.1# brctl addbr br001 bash-4.1# brctl addif br001 eth1 bash-4.1# brctl addif br001 eth2 bash-4.1# ifconfig br001 up bash-4.1# ifconfig br001 br001 Link encap:Ethernet HWaddr 00:01:6C:E2:FF:D2 inet6 addr: fe80::201:6cff:fee2:ffd2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:238 (238.0 b) bash-4.1#
Това е всичко, което трябва. В момента ако се включат произволни 2 мрежови устройства на eth1 и eth2 те ще се виждат напълно нормално през този transparent bridge.
Има още един хитринка, която използвам в тестовете и може да ви е полезна. Чупене на трафик ;). Прави се с една команда:
bash-4.1# tc qdisc add dev eth1 root netem delay 0.3s loss 1%
С тази команда добавихме забавяне на пакетите и 1% загуба. Можете естествено да пробвате с повече. Ползва се основно за да тествате как реагират мрежови устройства и мрежов софтуер в спартанските условия на евтини квартални ланки :D
И естествено, можете да си инсталирате един Wireshark и да дъмпвате пакетите в human readable format, за да ги анализирате. С каква цел ... вие си знаете. Аз основно подслушвам пакети, за да съм сигурен, че програмистите не са объркали нещо в кода.
No comments:
Post a Comment