вторник, 18 сентября 2007 г.

сетевые интерфейсы

несколько совершенно элементарных опций, которые могут иногда пригодиться. вешаем 2-ой/энный интерфейс на сетевую карточку:

sudo ifconfig eth0:0 192.168.5.2
sudo ip addr add 192.168.5.3 dev eth0

ставим uml_utilities (User Mode Linux) и получаем возможность работать с "туннелями":

sudo modprobe tun
sudo tunctl -u user -t tun0 -f /dev/net/tun
sudo ifconfig tun0 192.168.5.1 up

пакет bridge-utils даст brctl - инструментом для "мостостроения" между различными сетями ethernet.

для экспериментов с виртуальными туннелями подойдёт пакет vtun. очень душевное описание работы с vtun:

http://www.citforum.ru/nets/articles/vpn_linux/
http://palm.opennet.ru/base/net/vtund_bridge.txt.html

и "король" операций с сетевыми интерфейсами - пакет iproute, с документацией, переведённой на русский язык :

http://megalib.com/books/1346/lartc.html

для управления режимами работы сетевой карты (дуплекс и т.п.) - ethtool.

2 комментария:

virens комментирует...

Я в сетях не крут, поэтому спасибо за пост - унёс к себе. Надо бы поднять туннелинг между QEMU и реальным компьютером. На досуге займусь.

sda комментирует...

извините, но в чём суть упражнения? qemu работает с "родителем" по tap интерфейсу (т.е. имеем туннель к "маме"). параметры запуска например:

/usr/bin/qemu -cdrom elive_0.6.4_unstable.iso -m 256 -soundhw sb16 -localtime -net nic,vlan=0 -net tap,vlan=0 -boot d

предположим, что наша "мама" имеет выход в локальную сеть (интерфейс eth0) с адресами 10.0.0.0/255.0.0.0 и посредством vpn-а (интерфейс ppp0) в сеть интернет. чтобы дать возможность qemu свободно общаться как с локалкой так и лазить в инет достаточно на "маме" следующего:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

при этом безобразии наш qemu естественно находится за натом и невиден окружающим (ежели на qemu мы подняли немного сервисов типа http/ftp и желаем дать к ним доступ извне - это легко решается посредством iptables <- SNAT,DNAT ->). если есть идея создать туннель qemu <-> внешняя_машина и сделать этот туннель недоступным для "мамы" и прочих - то только в этом случае оправдано применение vtun, openvpn и иже с ними. но цели, кроме как удовлетворить любопытство, представить себе трудно (у меня плохая фантазия). полагаю, что более логично строить туннели от "мамы", а потом пускать в них всех желающих.