Szóval adott egy gép, linuxal, és egy elvileg elötte álló (mármint elvileg közte és az internet között lenne még egy router, amit emulálni szeretnék.
Tehát:
internet felé gw---hiányzó router külső ip---hiányzó router belső ip---saját ip a hálózat, és ebből az utolsó három az én gépemen van.
Például ha uml-el akkor az uml (bridgel) kezeli a gépemben lévő hálókártyát ez a "hiányzó router külső címe" és kommunikál kifelél az "internet felé gw"-vel, vagy azon keresztül.
uml-es rendszernek lenne egy másik interface befelé (tuntap), ami uml-ben "hiányzó router belső ip", rendes rendszeremben "saját ip"
és ha a saját rendszeremból internetezni akarok, akkor így mennének a csomagok:
saját ip
hiányzó router belső
hiányzó router külső
internet felé gw
...
Hogy lehet ezt megcsinálni virtualizált oprendszer nélkül?
Például létrehozok tunctl-el egy tap0-át és egy tap1-et.
iptables mangle:
ami bejön eth0-án az PREROUTING utan FORWARD és nem INPUT annak ellenére hogy ez tulajdonképpen saját ip az is amire jön a csomag mivel a tap1-a cél, de én azt nem közvetlenül az eth00-ról bejövet szeretném INPUT, hanem majd mikor a tap0-án jön be, mivel oda forwardoltam.
Itt: http://hup.hu/node/25455
-j ROUTE -ifo tap0 vagy amit bandorka írt jó lenne? azaz iptables -t mangle -A PREROUTING -i eth0 -j ROUTE -iof tap0
(tap0-tap1 bridge)
Sehogy sem sikerült rálelnem a rendszeremben erre a -j ROUTE -ra, etch-ben nincs ilyen cél lennyiben már a man iptablesben sincs ilyen kapcsoló...
Mi kell hozzá?
etct-ben kellene de újabb kernellel.
Bocs ha kicsit hosszúra sikeredett túlmagyaráztam, maga a feladat kiírás végülis teljesen egyszerű.
- 1173 megtekintés
Hozzászólások
"és egy elvileg elötte álló (mármint elvileg közte és az internet között lenne még egy router, amit emulálni szeretnék."
Nem elég a tűzfal?
"maga a feladat kiírás végülis teljesen egyszerű."
Ha veszel egy routert még egyszerűbbé válik. :)
- A hozzászóláshoz be kell jelentkezni
"Nem elég a tűzfal" kérdésre az a válasz hogy nem a "feladat kiírását" kell megoldani hanem a már kiírt feladatot! Ezt most én írtam ki... a feladat adott.
"Ha veszel egy routert..." dologra pedig az, hogy ezzel nem oldottad meg a feladatot hanem kerestél egy kibúvót hogy ne kelljen megoldani.
Biztos segítő szándékkal írtad amit..., de én ezt meg szeretném csinálni, nem kikerülni. Egyszóval itt nem az a cél hogy "menjen az internet..." - Miért nem megy áááá...
Azt szeretném itt megtanácskozi veletek hogy a feladatot hogyan lehet, érdemes, stb.... megcsinálni.
Akit nem érdekell hogyan lehet ilyet megoldani, ne oldja meg vagy ne gondolkodjon rajta a kedvemért...
- A hozzászóláshoz be kell jelentkezni
Valami ilyesmire gondoltam:
tunctl -u hu
tuntcl -u hu
ifconfig tun0 0.0.0.0 promisc up
ifconfig tun1 0.0.0.0 promisc up
brctl addbr bridge
brctl setfd bridge 0
brctl sethello bridge 0
brctl stp bridge off
brctl addif bridge tap0
brctl addif bridge tap1
ifconfig eth0 192.168.1.2
ifconfig tap0 192.168.2.1
ifconfig tap1 192.168.2.2
iptables -t mangle -A PREROUTING -i eth0 -j MARK --set-mark 51
iptable -t mangle -A PREROUTING -i tap0 -j MARK --set-mark 51
ip rule add fwmark 51 table emulalt
ip route add 192.168.2.0/24 dev tap1 table emulalt #belso halozatom
ip route default via 192.168.1.1 dev eth0 table emulalt
ip route default via 192.168.2.1 dev tap1
echo 1 > /proc/sys/net/ipv4/ip_forward
Mi a rossz az elképzelésben?
Ha teljesen nem rossz, akkor végülis az egyik tap-om helyett ott a bridge nevű interface-em is..., vagy maradjak inkább két darab tap-nál?
Szóval holnap kipróbálom, de azért jó lenne tudni, hogy vesztegessem-e rá az időt, vagy halálra van ítélve a dolog :)
- A hozzászóláshoz be kell jelentkezni