Wednesday, 7 August 2013

RouterOS

Ez egy kitérő post, lehet egyszer majd elkerül innen, bár részben van köze a linuxhoz.
Az elsődleges cél, hogy meglegyen, ha később szükségem lenne rá.
Naszóval múlthéten megérkezett a MikroTik routerem, és most annak a konfigurációjához jön pár dolog.

2:portforward:
/ip firewall nat add chain=dstnat dst-address=<publikus IP> protocol=tcp dst-port=<publikusport> \
    action=dst-nat to-addresses=<privát IP> to-ports=<privát port>


Tesztkörnyezet

Egyenlőre Slax LiveCD-krol bootolva probálom megoldani. A két Uplink gépen az eth0 az asztali gép hálókártyájára van bridge-elve, az eth1-ek egy-egy loopback virtuális interface-re (virtualbox hátrányai), amiket a hdwwiz-zel lehet telepíteni win7-en (egy kis segítség). Elméletben úgy fog kinézni, hogy a két GBE linken kapnak IP-t, az egyik uplink az statikus lesz, a másikon az UplinkPC fog DHCP-n címet osztani. A TesztPC és a RouterOS között pedig szintén statikus címek lesznek.

Az Uplink1PC és az Uplink2PC-knél az alábbbiakat kell belőni hogy natolós routerként működjenek:

echo 1 > /proc/sys/net/ipv4/ip_forward
ip addr add 192.168.1.1 dev eth1
iptables --table nat --append POSTROUTING --out interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT

Az egyik forward most pöpecül működik, a többbit majd későbbb.

Nekiálltam a második virtgépen is összekalapálni a hálózatot. ehhez kellett egy dhcp szerver, amit telepíteni kell. Doksi alapján elég simán megvolt.
slax activate dnsmasq
Mivel dnsmasq-kal már foglalkoztam, így maradtam annál.


RouterOS telepítés és konfigurálás

Letöltöttem a routerOS 6.2 cd-t a MikroTik oldaláról, virtuál gépre felcsatol, indít. A telepítője nagyon minimalista, kijelölgeted mire van szükséged, nyomsz egy "i"-t, és kész. CD leválaszt, újraindít és ennyi.

A konfigurálás már egy érdekesebb rész volt.
3 hálókártya (ether1-2-3) 
ether1: ez kapcsolódik az Uplink1 felé, statikus IP
ether2: ez kapcsolódik au Uplink2 felé, amin dhcp-n keresztül kap címet
ether3: a "belső hálózat" ebbe az irányba dhcp szerverként funkcionál, és  NAT-ol kifelé

statikus IP-k beállítása:
/ip address add address=192.168.1.2 netmask=255.255.255.0 interface=ether1 disabled=no comment=Uplink1
/ip address add address=192.168.252.1 netmask=255.255.255.0 interface=ether3 disabled=no comment=intranet
dinamikus IP beállítása:
/ip dhcp-client add interface=ether3 disabled=no

DHCP szerver aktiválása:
/ip dhcp-server setup
Feldobálja a kérdéseket, megadogatod a válaszokat, és megy.

NAT beállítás:
/ip firewall nat add chain=srcnat action=masquerade out-interface=ether1
/ip firewall nat add chain=srcnat action=masquerade out-interface=ether2

És következik a lényeg, a Dual Uplink Failover, ami annyit tud, hogy két lábon csatlakozik a netre, és ha az egyik elhal, akkor automatikusan átáll a másikra. Itt a leírása.
Bibi van: ellátok a fizikai routerig, de azon kívülre nem, ami azért érdekes, mert mindezt távoli asztalon kereszül csinálom épp. Routing szabály azért nem lehet, mert a router belső IP-jét pingelve kapok választ, tehát visszatalál a csomag. Hohó megvan. Ott a gond, hogy a gatewayek nem lehetnek ethernet interface-ek.

Egyenlőre nem nagyon akar működni ez az átállásos dolog. Átírtam IP-re a gateway-eket, mostmár lehet pingelni mindent, de hiába lövök mel az egyik uplinket, nem akar átállni a másikra.
Soksok próba után úgy tűnik az lesz a gond, hogy interface-t akarok megadni gatewaynek, és ezt nem szereti.
Emelett mint kiderül a routing-mark is problémát okozott, mert ha nem volt jelölve a csomag, akkor nem ment kb semerre.
Próbálkoztam olyan megoldással, hogy minél általánosabb szabályt adjak, de nem akarta szeretni.
Most ami működik az az alábbi:
/ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark=Uplink1 src-address=192.168.252.0/255.255.255.0
Ezt még ki kell kisárletezni, hogy milyen korlátozásokkal hajlandó megjelölni a csomagokat (0.0.0.0/0-ás címtartománynál sem működik, sőt már 192.168.0.0/255.255.0.0-val sem).



No comments:

Post a Comment