Sziasztok!
Van az alábbi konfigom. 10.0.0.1-ről kapcsolódnék 3.3.3.3-ra.
Felveszek egy másodlagos címet az eth0-ra (172.16.0.2).
Készítek egy routing táblát, ami alapján a 1-essel jelölt csomagok megtalálják az útjukat (table 1 - van több is, de az egyszerűség kedvéért kihagytam).
Felveszek iptables szabályokat, ami alapján a 10.0.0.2-re küldött csomagok 3.3.3.3-ra érkeznek. Szeretném, ha majd vissza is érkeznének 10.0.0.1-re később.
És a végén a routing táblának megfelelően a MASQUERADE szabálynak le kellene cserélnie az forrás IP-t a 172.16.0.2-re.
Na most problémám az, hogy olyan, mintha a csomagok kihagynák a table 1-et és a main routing tábla szerint közlekednének és a MASQUERADE az eth0 elsődleges címére cserélné ki a forrás IP-ket..
ip address add 172.16.0.2/24 dev eth0
ip rule add fwmark 1 table 1
ip route add 0.0.0.0/0 via 172.16.0.254 src 172.16.0.2 table 1
ip route add 10.0.0.0/30 table 1 dev usb0
iptables -t mangle -A PREROUTING -i usb0 -j MARK --set-mark 1
iptables -t nat -A PREROUTING -d 10.0.0.2 -j DNAT --to-destination 3.3.3.3 -m mark --mark 1
iptables -t nat -A POSTROUTING -d 3.3.3.3 -o eth0 -j MASQUERADE -m mark --mark 1
Mi lehet a megoldás?
Itt az ábra a jobb átláthatóság kedvéért:
- 1955 megtekintés
Hozzászólások
Először is sztem. rajtad kívül senki nem érti mi is van. Kaptunk néhány infót, de nem azzal önmagában nem lehet mit kezdeni. Ezért kellene egy "móricka" ábra arról,hogy milyen hálózati csatolók vannak abban a gépben, ami minden hálózatba belát és az hova kapcsolódik. Ehhez kellenek a hozzárendelt IP cím tartományok. A 3.3.3.3 az a Te publikus IP címed vagy csak így maszkoltad el a sajátod? Azért érdekes, mert 3.3.3.3 az nem ún. belső hálózati cím, ezért azt nem használhatod, ha nem a tied.
Ha ezek megvannak,akkor meg kéne fogalmazni,hogy pontosan mit is szeretnél. Melyik hálózatból, hová és milyen funkciókat kell,hogy tudjon kezelni. Utána megpróbálunk segíteni neked,hogy merre menj tovább.
Ha ezeket leírod és szépen összeszeded, hogy mit is szeretnél, akkor utána meglátom (meglátjuk) mit tehetek (tehetünk), hogy sikerrel járj. Addig érdemi segítséget nem fogsz kapni.
- A hozzászóláshoz be kell jelentkezni
+1
De, azért annyit kisilabizáltam belőle: a MASQUERADE - amennyire tudom - mindig a kilépő kártya elsődleges IP címére fordítja a csomagokat. Ha konkrét kilépő címet szeretnél használni, akkor SNAT lesz a barátod.
-------------------------------^v-----------------------------------
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"
- A hozzászóláshoz be kell jelentkezni
Elvileg a route bejegyzésben az src mező arra szolgálna, hogy megsúgja a kernelnek, hogy milyen IP-n csúsztassa ki a csomagokat.
- A hozzászóláshoz be kell jelentkezni
Itt "ip route add 10.0.0.0/30 table 1 dev usb0" mit keres USB0?
-------------------------------^v-----------------------------------
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"
- A hozzászóláshoz be kell jelentkezni
Az azért, mert a 10.0.0.2/30 csatoló egy USB port, amin ethernet forgalom megy.
- A hozzászóláshoz be kell jelentkezni
És ezt az ifconfig/ip addr is így gondolja? Ott figyel a kimenetükben az usb0 nevű interfész?
- A hozzászóláshoz be kell jelentkezni
Kiegészítettem ábrával a sok infót. A 3.3.3.3 csak a példa kedvéért van, lehetne ott bármilyen másik IP is.
Azt szeretném, hogy ha a 10.0.0.1/30-as eszközről a 10.0.0.2-re csatlakozom, akkor az valójában a 3.3.3.3-ra csatlakozzon, de úgy, hogy a kifelé menő kapcsolatok a megadott eth0-ra felvett IP-n keresztül menjenek, mert így meg tudom jelölgetni ezeket a csomagokat. Erre a többi eszköz kapcsolataitól megkülönböztetés miatt van szükség, de ha lehet egyszerűbben nekem úgy is jó.
- A hozzászóláshoz be kell jelentkezni
Akkor most kéne rajzolni egy hálózati ábrát. Mert nem nyilvánvaló, hogy melyik IP cím kié. Meg ki kivel van...
- A hozzászóláshoz be kell jelentkezni