Sziasztok!
Nem tudok megbirkózni a köv feladattal:
A hálózat a következőképpen néz ki:
internet --- router(10.0.0.1) --- ([eth0] 10.0.0.3) linux_nat_box ([eth0:1] 10.0.0.5) --- (10.0.0.0/24)hálózat
tehát ugyanabban a subnetben van minden:
- a router
- a linux-os NAT box külső és belső lába is
- és az alháló is
Átrendezni nem lehet.
Szeretnék mindent NAT-olni, kivéve a 25-ös portot, mert azt teljesen tiltani szeretném a NAT box mögötti alháló részére.
script (ami NAT-ol)
... (csak a lényeg)
echo " Clearing any existing rules and setting default policy.."
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
echo " FWD: Allow all connections OUT and only existing and related ones IN"
iptables -A POSTROUTING -t nat -o eth0 -s 10.0.0.0/24 -d 0/0 -j MASQUERADE
iptables -A FORWARD -t filter -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -t filter -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
De hogyan tudom ebben a felállásban a 25-ös portot tiltani kifelé?
Előre is köszi!
- 1146 megtekintés
Hozzászólások
az accept sor elott el kell drop-olni.
bar alapbol nekem nem szimpi - finoman szolva - ez az azonos subnet es natolas onmagara..
meg azonos az ip-je a routernek es a linux-nak?? routolas hogy van megoldva a linuxon a 10.0.0.0-as netre? ahh...biztos nem nagyon gany ez igy?
akkor mar valami bridge kellene inkabb
- A hozzászóláshoz be kell jelentkezni
de, elég gány, de most nem lehet átrendezni :-(
az első kérdés tulajdonképpen ez. meg lehet egyáltalán ebben a környezetben ezt oldani?
valami olyan megközelítéssel, hogy
- ha az eth0:1-en érkezik
- és a source net 10.0.0.0
- és a dport 25
- akkor DROP
?
- A hozzászóláshoz be kell jelentkezni
igen, csak ez az accept sor elott legyen
iptables -A FORWARD -t filter -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- A hozzászóláshoz be kell jelentkezni
Több helyen is tilthatod , mondjuk ne engedd a csatlakozást a 25ös portról.
iptables -A INPUT -p tcp --sport 25 --dport 25 -j REJECT
Nem vagyok egy iptables guru , lehet van szebb megoldás is
- A hozzászóláshoz be kell jelentkezni
Elvileg nem az input az erdekes, mert a kifele meno csomagok a forward agon mennek, azt az input tiltasa nem fogja meg.
(persze itt lehet, bekavar az azonos tartomany)
- A hozzászóláshoz be kell jelentkezni
smtp (meg bármilyen) kommunikáció esetén a célport fix, a forrás random
ez a szabály (ha leszedjük a --sport 25-ös) valóban tiltja a kapcsolódást a 25-ös porthoz, de a nat-ra sajnos nincs hatása
- A hozzászóláshoz be kell jelentkezni
Esetleg valami ilyesmi?
iptables -P FORWARD REJECT
iptables -F FORWARD
iptables -t filter -A FORWARD -i eth0.1 -p tcp --dport 25 -j REJECT
iptables -t filter -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F
iptables -A POSTROUTING -t nat -o eth0 -s 10.0.0.0/24 -j MASQUERADE
- A hozzászóláshoz be kell jelentkezni
Vagy talán:
iptables -P FORWARD REJECT
iptables -F FORWARD
iptables -t filter -A FORWARD -i eth0.1 -p tcp --dport 25 -j REJECT
iptables -t filter -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t mangle -F
iptables -t mangle -A FORWARD -i eth0.1 -j MARK --set-mark 1
iptables -t nat -F
iptables -t nat -A POSTROUTING -m mark --mark 1 -j MASQUERADE
- A hozzászóláshoz be kell jelentkezni
eth0.1 vagy eth0:1 ?
elsőre nem tudok interface-t csinálni, másodikra: Warning: weird character in interface `eth0:1' (No aliases, :, ! or *).
- A hozzászóláshoz be kell jelentkezni
Hát, igen, bocs, úgy látom, tényleg mincs ilyen. Én valójában 802.1q alinterfészre gondoltam itt, de az nincs az ábrán látható konfigurációban.
- A hozzászóláshoz be kell jelentkezni
Akkor viszont egy bátortalan tipp:
Vagy talán:
iptables -P FORWARD REJECT
iptables -F FORWARD
iptables -t filter -A FORWARD -i eth0.1 -p tcp --dport 25 -j REJECT
iptables -t filter -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t mangle -F
iptables -t mangle -A FORWARD -s 10.0.0.0/24 ! -d 10.0.0.0/24 -j MARK --set-mark 1
iptables -t nat -F
iptables -t nat -A POSTROUTING -m mark --mark 1 -j MASQUERADE
- A hozzászóláshoz be kell jelentkezni
Vagyis:
iptables -t mangle -F
iptables -t mangle -A FORWARD -s 10.0.0.0/24 ! -d 10.0.0.0/24 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING ! -s 10.0.0.0/24 -d 10.0.0.0/24 -j MARK --set-mark 2
iptables -P FORWARD REJECT
iptables -F FORWARD
iptables -t filter -A FORWARD -m mark --mark 1 -p tcp --dport 25 -j REJECT
iptables -t filter -A FORWARD -m mark --mark 2 -j REJECT
iptables -t filter -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F
iptables -t nat -A POSTROUTING -m mark --mark 1 -j MASQUERADE
De az is lehet, hogy belekeveredtem, mint hülyegyerek a hózentrógerbe.
- A hozzászóláshoz be kell jelentkezni
Ez így több sebből vérzik:
- A router és a linux nat box IP címe nem egyezhet meg (a rajzon mindkettő 10.0.0.1)
- A 10.0.0.0/24-es hálón bárki megkerülheti a linux nat boxot (senki nincs "mögötte").
Olyan nincs, hogy nem lehet átrendezni/átcímezni.
- A hozzászóláshoz be kell jelentkezni
csak nem Kadlecsik mester? :-)
- elírtam, javítottam. a linux "külső" lába 10.0.0.3
- tf. nem kerülik meg, mert azt használják, amit a dhcp-től kapnak
- átcímezzük, de most kéne gyorsan egy átmeneti megoldás
- A hozzászóláshoz be kell jelentkezni
Igen...
Ha valaki nem akarja, akkor nem használja a DHCP-t...
A gyors megoldás az eredeti szabályaidnál a következő beillesztése:
iptables -t filter -A FORWARD -s 10.0.0.0/24 -p tcp --dport 25 -j DROP
iptables -A FORWARD -t filter -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
- A hozzászóláshoz be kell jelentkezni
Elnézést az avatatlan hozzászólásért, de biztosan van hatása itt a "-o eth0" opciónak? (Csak egy kártya van.)
- A hozzászóláshoz be kell jelentkezni
Nincs: az eredeti szabályok egy sor fölös opciót tartalmaznak. De attól még azt csinálják, amit a kérdést feltevő akar.
- A hozzászóláshoz be kell jelentkezni
... és működik!
Át fogjuk szerelni két hálókártyásra, amint lehet.
Köszönöm a segítséget! Megtisztelő egy iptables hackertől tanácsot kapni.
- A hozzászóláshoz be kell jelentkezni