Dinamikus route tobb halokartyan

Szokas szerint volt egy kis gondom...
Leirom ide is, de az eredeti itt van:

Debian unstable
harom halokartya
eth0 a net fele
eth1 es eth2 a helyi halo
dnsmasq a DNS-cache es DHCP-szerver
A problema: ha fix ip-s gep log a helyi halon, akkor szuper, mindegy, hoyg az eth1 vagy eth2 a csatlakozas, megy a net. Ha dinamikus IP, akkor attol fuggoen, hogy melyik halokartyara kotottem, (route parancs miatt) vagy van net, vagy nincs net. A fenti topicban kiderult, merre keressem a megoldast es vegul meglett. (Mult hetvegen addig eljutottam, hoyg sehol sem volt net :) , most a melohelyrol megneztem, hoyg kell felhuzni egy bridge-t es vegre jo)

Szoval, nem tudom, mi volt pontosan a buktato, de leirom a beallitasokat (ja, a vegen iptables volt a gond, ott 3 IP volt engedelyezve a belso halonak, es persze egyik sem az, amit a DHCP-vel kapotak a gepek, de ez mar az en figyelmetlensegem :)

1. ELOSZOR brctl addbr br0
brctl addif eth1
brctl addif eth2

UTANA ifconfig eth1 0.0.0.0 up
ifconfig eth2 0.0.0.0 up
VEGUL ifconfig br0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255

Vagyis nem tudom, a sorrend mennyire volt fontos, de asszem ket helyen buktam el mult hetvegen:
- nem 0.0.0.0 lett az eth[12], igy bekerult a route-ba alapertelmezetkent ES
- a bridge broadcast cime nem volt beallitva (ha bealitom, nem is kell hasznalnom a route parancsot...)

2. dnsmasq: Ez egyszeru volt, par beallitas belole:

interface=eth1
interface=eth2
interface=br0
#minden belso interfacen szolgaltasson DHCP-t es DNS-t
dhcp-range=192.168.1.11,192.168.1.19,12h
#Vagyis a dinamikus ip-k a kovetkezo lehetnek: 192.168.1.11-19

#Ez nem tudom, mennyire fontos, de lehet, hoyg segitett:
dhcp-option=19,0 # option ip-forwarding off
#Volt egy olyan erzesem, hogy a net-szolgaltatomhoz fordul IP-ert a sajat gepem helyett, de lehet, hogy tevedek...

Igy leirva nem is bonyolult, de megszenvedtem vele :)

Hozzászólások

/etc/network/interfaces-be igy kell:

auto br0
iface br0 inet static
address 1.2.3.4
netmask 255.255.255.0
network 1.2.3.0
broadcast 1.2.3.255
gateway 1.2.3.254
bridge_ports eth0 eth1

(nem kiprobalt, csak feljegyeztem magamnak, hogyha kell)
de van masik megoldas is:

auto br0
iface br0 inet manual
up echo "Adding ethernet bridge between LAN and PAN"
up ifconfig eth0 0.0.0.0
up ifconfig eth1 0.0.0.0
up brctl addbr br0
up brctl setfd br0 0
up brctl stp br0 off
up brctl addif br0 eth0
up brctl addif br0 eth1
up ifconfig br0 192.168.192.1 netmask 255.255.255.0 up
down echo "Removing ethernet bridge between LAN and PAN"
down ifconfig br0 down
down brctl delif br0 eth0
down brctl delif br0 eth1
down brctl delbr br0

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

En inkabb beirom egy scriptbe, ami inditaskor lefut. Nyilvan mukodik az /etc/network/interfaces-bol is, de ott inkabb csak a "lo" es "eth0" van, a tobbit inkabb scriptbol. Amugyis kellett ilyen script, ami becsatolja a Sambas nyomtatot, felepiti a VPN-t, beallitja a hangerot meg egyeb dolgokat elintez. Akkor mar inkabb oda pakoltam a magam altal letrehozott cuccokat.