[MEGOLDVA] route a 192.168.0.0 -ból a 192.168.1.0 -ba

Van egy gép két hálókártyával, alapban a route tábla ilyen:

Dest. Gw Genmask Fl Me Re Us Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.123.0 * 255.255.255.0 U 0 0 0 eth1

(kicsit topvább rövidítettem, de gondolom ismerős)

arra lenne szükségem hogy az eth0 -ról elérjem a 192.168.1.0/24 -es szegmenst (ráadásul ott van az igazi gateway a net felé)

Megpróbáltam route parancsal:

route add -net 192.168.1.0/24 dev eth0

A route tábla a következőképpen múdosult:

Dest. Gw Genmask Fl Me Re Us Iface
localnet * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.123.0 * 255.255.255.0 U 0 0 0 eth1

A 192.168.1.x -et továbbra sem tudom elérni?
Miért nem látszik a táblában az útvonal?
Ezt nem értem :( Tudja valaki a megfejtést?

Hozzászólások

Az /etc/network/interfaces -ben próbáltam:
iface eth0 inet static
address 192.168.0.250
netmask 255.255.254.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.1.254
route add -net 192.168.1.0/24 dev eth0

Semmi foganatja nem volt. Lehet hogy a a 192.168.1.0 is /23 kelene megadni?

* Én egy indián vagyok. Minden indián hazudik.

A route -n kimenete azonos, avval a különbséggel hogy a Gw mezőben "*" helyett "0.0.0.0" -van.
Viszont amikor beadtam a route add -net 192.168.1.0/24 dev eth0 parancsot, akkor azt köpte ki, hogy "SIOCDELRT: Nincs ilyen folyamat"
Már megint egy számomra "ködös" üzenet :(

* Én egy indián vagyok. Minden indián hazudik.

Nem kell még valamit játszani az IPtablessel is? Valami forward policy, vagy ilyesmi nem kell ehhez?

--
Simplicitas Sigillum Veri

Az az igazság, hogy eddig sosem volt ilyen gondom, azaz ha route -al hozzáadtam egy másik "net" -et akkor az helyből jól működött, megjelent a route táblában és nem okozott semmileyen gondot. Ez a mostani szituáció teljesen ellentmond minden tapasztalatomnak, hacsak valami szintaktikai gond nincs, vagy nem is tudom. Ezért dobtam fel ide.

* Én egy indián vagyok. Minden indián hazudik.

És figyu már, melyik a 192.168.1.0/24-es szegmens interfésze?

eth0

eth0 192.168.0.250 - ez néz a 192.168.1.0 szegmensbe, de nem lát.

eth1 192.168.123.250

Most megint valami változott!
Kínomban kiprónbáltam ha 192.168.1.250/24 -es címet adok - akkor látja a 192.168.1.254 -et.

Aztán vissza a kályhához - /etc/init.d/networking restart

Ami itt meglepett, hogy most be került a ropute táblába:
192.168.1.0 ... eth0
192.168.0.0 ... eth0
192.168.123.0 ... eth1

Úgy tűnik, a ping is megy - a switch a ping ütemében villog a csatlakozásnál. Viszont nincs válasz. Lehet hogy a túloldalnak is kell valami hogy levegye a csomagokat? A source address gondolom a 192.168.0.250, azaz másutt kiszűrődik?

* Én egy indián vagyok. Minden indián hazudik.

Erre azt hiszem megoldás a kövi parancs:

ifconfig eth1:0 192.168.1.2

Ekkor létrejön egy "virtuális" interface amivel azon a szegmensen tudsz kommunikálni.

Igen! Ez is eg lehetőség, mondom engam az ejtett zavarba, hogy kiuadtam a route parancsot és nem hogy nem javult emmi de még a route táblában sem jelent meg! Ilyenem még nem volt.
Illetve volt változás megjelent egy "localnet" a táblában (lásd fennt).

* Én egy indián vagyok. Minden indián hazudik.

Én inkább így csinálnám:
ip r a 192.168.1.0/24 dev eth0

De persze kérdés az, hogy akit nézel (pingelsz), tudja-e, hogy merre kell a válaszcsomagokat küldenie.

A fentebbi példa analógiája:
ip a a 192.168.1.2/24 dev eth0
Ez létrehozza a szükséges route tábla bejegyzést is.

Másik pedig az, hogy ha tűzfalad van az interface-en, az engedi-e a csomagok áramlását ezen tartományban, de itt is kérdés az, hogy a másik oldal nem szenved-e ugyanebben...

A route jóságát így tudod ellenőrizni:
ip r get 192.168.1.x
A válaszban benne van, hogy a gép a csomagokat merre indítaná és hogyan.

Igen!
Az egyik gépen a 192.168.1.0 tartományban átírtam a netmask -ot 255.255.254.0 - ra és rögtön pingelhető lett. Persze, ha most innen akarom megpingelni a 192.168.0.0 tartományt valószínűleg neki is kell egy route add.
Gyűlnek itt az érdekes dolgok, ezzel a "ip" parancsal még nem is találkoztam! (az előbb a bcrtl) Megint van minek utána nézni kössz!
:)

* Én egy indián vagyok. Minden indián hazudik.

Debian -os vagyok, így gyorsna kerestem egyet a csomaglistákban.

A brctl -t megtaláltam - Debian bridge-utils - jó tudni róla, hogy ez egy külön csomag.

Viszont az ip, mint parancs, az "iproute" nevű csomagban található, és a következő kikütéssel használható:
"At least, the options CONFIG_NETLINK and CONFIG_NETLINK_DEV (or CONFIG_RTNETLINK) must be compiled into the running kernel."

Nosza, cat /boot/config-2.6.18-6-686 | grep NETLINK és ilyen opció nincs is benne?
Olyanokat talált mint pl. "CONFIG_NETFILTER_NETLINK=m" de az említett kettő nincs. Tud erről valaki valamit?

* Én egy indián vagyok. Minden indián hazudik.

Fizikailag az eth0-n lóg az 192.168.1.0/24, vagy valamelyik 192.168.0.x címen keresztül érhető el? Ha az első, azaz az eth0-n van 0.0/24 meg 1.0/24 is, akkor nagyon csúnya dolgot míveltetek a /24-es maszk használatával, ha viszont a második esetről van szó, akkor at 192.168.1.0/24-nek a 192.168.0.x a gateway-e és jó'ccakát.

Topógiai infók.
Van egy ASUS routerem, OpenWrt White Russian RC6, amelyik a chello -n lóg. A belső hálom 2 + 1 fix munkaállomás + Debian szerverke mindez a 192.168.1.0/24 -es tartományban lóg, DNS szerver NINCS, viszont van samba.
Most épp egy másik kis szervert kell összeraknom, nagyjából rávan "bórítva minden" le akarom ellenőrízni mi és hogy működik. Most épp a samba -val steppelek.
Az új szerver két hálókártyával van ellátva, a végleges helyén két különböző tartományban fog működni egyszerre. Nem akarom a saját rendszeremet teljesen szétdulni, ezért az új szerverke eth0 -ja a 192.168.0.0/24 -es tartományba tettem, míg az eth1 a 192.168.123.0/24 tartományba került. Alapvetően, most az 192.168.123.0 tartományban akarom vizsgálni a samba szervert, de azért kellene a net is ezért kezdtem azt piszkálni hogy lássa a 192.168.1.254 -es gatewayt.
Épp most próbálom visszaidézni, hogy a white russian -ban melyik a belső háló felé néző interfész, hogy átátllítsam a maskot, így a dolog meg lessz oldva.

* Én egy indián vagyok. Minden indián hazudik.

Megoldva!
Amennyiben, az interface netmask 255.255.255.0 akkor megengedi hogy hozzá add a -net 192.168.1.0 netmask 255.255.255.0 -át valami teljesen furcsa hibaüzenetet dob, az IP stack alsó régióból, és nem működik.
Viszont ha a mask mind a 192.168.0.0 és a 192.168.1.0 esetében 255.255.254.0 azaz /23 akkor szépen működik :)
Köszönöm a segítséget!

* Én egy indián vagyok. Minden indián hazudik.