Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
autor |
|
paat
HV vaatleja

liitunud: 15.07.2002
|
22.03.2008 12:59:41
router ja iptables |
|
|
Lugesin hommikupoole iptables'i kohta aga täit pilti veel ees ei ole.
Olemas gentoo purk, millel wifi routeri funktsioon.
Niiviisi sain nat'i taga olevad arvutid netti
tsitaat: |
# eth0 - ühendatud Internetti
# ath0 - traadita võrgukaart ap mode'is
iptables -F
iptables -t nat -F
iptables -A FORWARD -i ath0 -s 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
Aga kuidas saaksin eth0 liiklust filtreerida, samas kui ath0 taga olevatele jääb kõik avatuks ning browseriga ligipääs internetti jääb alles?
Kui selle saab tehtud, mida siis portscanner näitab, kui skännida ath0 tagant routeri avalikku IP-aadressi?
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
nuhk
Kreisi kasutaja

liitunud: 15.12.2001
|
22.03.2008 16:38:23
|
|
|
Ühe või kahe hommikupoolikuga iptables'ist e netfilter'ist pilti ette saada oleks ka palju tahetud, aga kuskilt peab mees alustama.
Vaata kõige enne siia ja võta omaks, et su mõlemad võrkarid asuvad üleval keskel: http://dmiessler.com/images/DM_NF.PNG
Üleüldse vaata seda värki hakatuseks nii, et PREROUTING ja POSTROUTING käiavad kogu liiklust; INPUT ja OUTPUT tegelevad ainult ruuterimasina enda kerneli liiklusega, vastavalt sisse või välja, kumbki ühes suunas. FORWARD seevastu tegeleb ühest võrgu(kaardi)st teise edastatava liiklusega - ruuterimasinast endast justkui "mööda", aga mõlemas suunas.
Mõned read näideteks:
eth0 kaudu ruutermasinasse endasse sisenevat reguleerid: iptables -A INPUT -i eth0 ...
eth0 kaudu ruutermasinast väljuvat: iptables -A OUTPUT -o eth0
eth0 kaudu tulevat ja sisevõrku minevat iptables -A FORWARD -i eth0 -o ath1 ...
ath0 pealt saabuva, avalikule www-serverile edastatava tcp liikluse lubad: iptables -A FORWARD -i ath0 -o eth0 -p tcp --dport 80 -j ACCEPT
ja nõnna edasi.. Erinevalt windooza-rajaka müüridest töötavad iptablesi reeglid ühes suunas - edasi-tagasi liikluseks on tarvis teha kaks reeglit.
Veel pööra tähelepanu ahelate INPUT, OUTPUT ja FORWARD nn default policile - et mida ahel teeb nende pakettidega, mille kohta ükski su reegel ei käinud - kas keelab ära (DROP) või lubab läbi(ACCEPT). Kui on DROP, siis pääseb müürist läbi ainult see pakett, mida eelnevad reeglid on läbi lubanud; ACCEPT korral pääseb läbi kõik, mida pole eelnevalt keelatud.
Tulemüüriga esimeste katsete tegemisel on neid väga soovitav teha kohalikust masinast, mitte remote - viimasega võid ennast oma tulemüüri INPUT või OUTPUT reeglite vale kasutamisega ise masinast ära lõigata. Palju head linuxi ja võrguga seotud materjali: http://lartc.org/
nuhk@hot.ee
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
obundra
Kreisi kasutaja

liitunud: 06.01.2004
|
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
paat
HV vaatleja

liitunud: 15.07.2002
|
23.03.2008 17:04:28
|
|
|
tänud, nuhk ja obundra, sellest on olnud kõvasti abi.
kirjutasin enda tarbeks ka lihtsa skripti:
#!/bin/sh
#puhasta iptables
iptables -F
iptables -t nat -F
# Vaikimisi poliitika
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# blokeeri väljaspoolt tulev liiklus ruuterisse
iptables -A INPUT -p TCP -i eth0 --dport 0:1023 -j DROP
iptables -A INPUT -p UDP -i eth0 --dport 0:1023 -j DROP
# NAT'i ülesse seadmine
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# kerneli seadistamine
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done |
Eelnevast ma saan kõik aru, skännisin online portscanneri abil routeri üle, paistab, et asi toimib.
Minu aru saamist mööda ei saa selle konfi korral keegi väljaspoolt, omal initsiatiivil, ühendust luua?
Aga jama vist on siis, kui keegi LAN'i arvutitest trooja hobuse avab?
FORWARD liikluse piiramine saab olema vist paras peavalu, sest kasutajad tahavad kasutada veebi, ftp-d, maili programme jne...
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
obundra
Kreisi kasutaja

liitunud: 06.01.2004
|
23.03.2008 17:42:31
|
|
|
INPUT ja FORWARD ahela poliitika võiks minuarust siiski olla DROP ja vastavalt vajadusele lubad reeglitega liiklust seal.Üks vahva kommenteeritud skript http://linux.ee/~kaups/wall2 Ja praegu sul sissetulev ühendus keelatud pordi järgi INPUT ahelas aga lihtsam oleks seda õiendada kasutades state moodulit vastavalt paketi olekule(NEW, INVALID,RELATED jne.)
_________________ Hold the heathen hammer high!
viimati muutis obundra 23.03.2008 17:53:08, muudetud 1 kord |
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
Dogbert
HV Guru

liitunud: 03.05.2004
|
23.03.2008 18:35:34
|
|
|
Väga õige arvamus.
Ehk siis
iptables -P FORWARD ACCEPT |
asemel
ning
# blokeeri väljaspoolt tulev liiklus ruuterisse
iptables -A INPUT -p TCP -i eth0 --dport 0:1023 -j DROP
iptables -A INPUT -p UDP -i eth0 --dport 0:1023 -j DROP |
jääb ära.
Lisada tuleks selle asemel reegel (sisevõrgust) juba algatatud ühenduste vastuste läbilaskmiseks:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT |
ja sisevõrgust välisvõrku suunduvate pakettide läbilaskmiseks:
iptables -A FORWARD -i ath0 -o eth0 -j ACCEPT |
Lisaks:
MASQUERADE reegel sobib ainult dünaamilise välise aadressiga ühenduste puhul (antud juhul tõenäoliselt ongi nii). Staatilise aadressi puhul peaks kasutama SNAT reeglit
Samuti tasuks olla ettevaatlik reegli
suhtes. Ka see võiks olla DROP ning lubada vaid ruuterile ligipääs kindlate portide kaudu ja näiteks ainult sisevõrgust, näiteks SSH:
iptables -A INPUT [-s aadress/võrk, millelt sisenemine lubatakse] -p tcp --dport ssh -m state --state NEW -j ACCEPT |
_________________ Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus. |
|
Kommentaarid: 33 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
32 |
|
tagasi üles |
|
 |
nuhk
Kreisi kasutaja

liitunud: 15.12.2001
|
23.03.2008 19:49:06
|
|
|
tsitaat: |
Lisaks: MASQUERADE reegel sobib ainult dünaamilise välise aadressiga ühenduste puhul (antud juhul tõenäoliselt ongi nii). Staatilise aadressi puhul peaks kasutama SNAT reeglit |
Päris niipidi ei ole, Dogbert - MASQUERADE töötab mõlemaga, aga dünaamilist aadressi ja SNAT'i ei kannata kaua koos kasutada.
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
paat
HV vaatleja

liitunud: 15.07.2002
|
23.03.2008 20:18:33
|
|
|
Tegin muudatused, ning nüüd jääb kood välja selline
#!/bin/sh
#puhasta iptables
iptables -F
iptables -t nat -F
# Vaikimisi poliitika
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# ligipääs kohalikust arvutist
iptables -A INPUT -i lo -j ACCEPT
# ligipääs kohalikust võrgust, lihtsuse mõttes luban kõiki porte
iptables -A INPUT -i ath0 -j ACCEPT
# ligipääs juba algatatud ühendusele
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# NAT'i ülesse seadmine
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#lubab algatada liiklust
iptables -A FORWARD -i ath0 -o eth0 -j ACCEPT
#luba läbi juba algatatud liiklus
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# kerneli seadistamine
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done |
ning paistab, et asi töötab, thx
kontrollin, kas ma sain ikka õigesti aru:
Dogbert kirjutas: |
Lisada tuleks selle asemel reegel (sisevõrgust) juba algatatud ühenduste vastuste läbilaskmiseks:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT |
|
ok, aga siis ühenduse algatus käib selle kaudu või?
iptables -A FORWARD -i ath0 -o eth0 -j ACCEPT |
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
Dogbert
HV Guru

liitunud: 03.05.2004
|
23.03.2008 21:25:01
|
|
|
nuhk kirjutas: |
Päris niipidi ei ole, Dogbert - MASQUERADE töötab mõlemaga, aga dünaamilist aadressi ja SNAT'i ei kannata kaua koos kasutada. |
Õigus, kogemata läks valepidi see jutt.
paat kirjutas: |
ok, aga siis ühenduse algatus käib selle kaudu või?
iptables -A FORWARD -i ath0 -o eth0 -j ACCEPT |
|
Jep, see lubab kõik paketid sisevõrgust välja vabalt, ESTABLISHED reegel lubab välisvõrgust sisevõrku vastused juba algatatud ühendustele.
Näiteks algatab sisevõrgu masin X TCP ühenduse neti.ee port 80-le, neti.ee saadab tagasi vastuse ruuterisse. Ruuteril on meeles, et masin X algatas selle ühenduse ja suunab neti.ee vastuse tagasi masinale X.
RELATED reegel kehtib seotud ühendustele - olekuta protokollidele nagu ICMP ja UDP ning näiteks ftp ühendusega seotud ftp-data ühendusele.
tsitaat: |
# ligipääs juba algatatud ühendusele
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT |
|
selle lisamine oli õige liigutus, väljastpoolt ruuterile saadetud pakettide droppimise korral on see vajalik, kaardi nimetamine reeglis (-i eth0) pole vajalik, aga ei tee paha ka, kui sisevõrgust ühendusi ei dropita. Kui ka sisevõrgust ühendused droppida, siis kaardi mittenimetamisel kehtib reegel nii sise- kui välisvõrgust tulevatele ühendustele.
_________________ Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus. |
|
Kommentaarid: 33 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
32 |
|
tagasi üles |
|
 |
mightythor
HV veteran

liitunud: 02.12.2004
|
09.05.2008 07:54:45
|
|
|
uurisin ka iptables'i kohta ning täiendasin natuke paat'i scripti:
#!/bin/bash
# eth0 <-- LAN
# eth1 <-- WAN
# scripti turvalisuse ja universaalsuse nimel määrame kausta, kust scriptis valja kutsutavaid
# programme otsitakse
PATH="/sbin"
# kerneli seadistamine. lubame vorguliiklust suunata yhest vorguliidesest teisse. Selleks loome
# faili ip_forward ning selle sisuks kirjutame "1"
echo 1 > /proc/sys/net/ipv4/ip_forward
# kustutab tabeli "filter" ahelatese loodud reeglid
iptables -F
# kustutab tabeli "nat" ahelatesse loodud reeglid
iptables -t nat -F
# kustutab tabeli "mangle" ahelatesse loodud reeglid
iptables -t mangle -F
# kustutab koik mitte-vaikimisi ahelad tabelist "filter"
iptables -X
# kustutab koik mitte-vaikimisi ahelad tabelist "nat"
iptables -t nat -X
# kustutab koik mitte-vaikimisi ahelad tabelist "mangle"
iptables -t mangle -X
# kui INPUT ahela paketid ei vasta yhelegi maaratud reeglile, siis nad visatakse minema
iptables -P INPUT DROP
# kui OUTPUT ahela paketid ei vasta yhelegi maaratud reeglile, siis nad lastakse labi
iptables -P OUTPUT ACCEPT
# kui FORWARD ahela paketid ei vasta yhelegi maaratud reeglile, siis nad visatakse minema
iptables -P FORWARD DROP
# lubame paketid, mis on parit aadressile 127.0.0.1, labi. See on vajalik selleparast, et mitmed
# programmid eeldavad sellist suhtlust localhost adapteriga. Fontserver naiteks.
iptables -A INPUT -i lo -j ACCEPT
# lubame liikluse LAN liidesest tulemyyri arvutisse
iptables -A INPUT -i eth0 -j ACCEPT
# lubame loodud yhenduste koosseisu kuuluvad ja loodud yhendustega seotud paketid WAN liidesest
# tulemyyri arvutisse
iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# lubame SSH yhenduste loomise tulemyyri arvutisse
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# kasime WAN liidesel, mida mooda pakett tulemyyri arvutist valja laheb, paketid maskeerida.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# lubada pakettide suunamine LAN liidesest WAN liidesesse
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
# lubada pakettide liikumine WAN liidesest LAN liidesesse tagasi loodud yhenduste koosseisu
# kuuluvate pakettide puhul ning loodud yhendusega seotud pakettide puhul
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
|
Püüdsin just natuke põhjalikumalt ning täpsemalt kommenteerida, kuid olen ma kõigest õigesti aru saanud? Ning kas keegi oskab täpselt selgitada, kuidas see
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done |
aitab turvalisust tõsta?
|
|
Kommentaarid: 62 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
53 |
|
tagasi üles |
|
 |
obundra
Kreisi kasutaja

liitunud: 06.01.2004
|
09.05.2008 09:44:02
|
|
|
See rp_filter on ip spoofingu vastu.Lihstalt öeldes, ta kontrollib kas saabuv pakett on ikka sealt aadressilt pärit, kust ta "väidab" end pärit olevat ning kui pole, siis see pakett dropitakse.
_________________ Hold the heathen hammer high! |
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
mightythor
HV veteran

liitunud: 02.12.2004
|
03.06.2008 15:36:31
|
|
|
aga kui tahta porte suunata? Minu arusaamist mööda näiteks sisevõrgus asuvale HTTP serverile(serveri IP on 192.168.1.252) suunamine peaks sedasi käima(eth0 on võrgukaart, kust ühendus sisse tuleb ja eth1 on sisevõrguga seotud võrgukaart):
iptables -A INPUT -i eth0 -p tcp --destination-port 80 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -d 192.168.1.252 -j ACCEPT
|
esimesel real ma annan teada, et INPUT ahelas(mille vaikimisi poliitika on mul DROP) tehtaks erand pordilt 80 sisenevale liiklusele. Teisel real ütlen, et kogu pordilt 80 sissetulev liiklus vorgukaardile eth0 suunataks välja eth1 võrgukaarti pidi aadressile 192.168.1.252:80. iptables -L annab sellise tulemuse(seal on ka nagu näha, et sissetulev WWW on ACCEPT ja FORWARD WWW on samuti ACCEPT):
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:www
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere 192.168.1.252 tcp dpt:www
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:ssh
|
Mingil põhjusel ma aga välisvõrgust oma sisevõrgu veebiserverit ei näe?
|
|
Kommentaarid: 62 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
53 |
|
tagasi üles |
|
 |
Dogbert
HV Guru

liitunud: 03.05.2004
|
03.06.2008 16:11:09
|
|
|
Ma pole käsitsi iptablesiga port forwardi teinud, aga proovi nii:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.252
iptables -A FORWARD -d 192.168.1.252 -p tcp --dport 80 -m state --state NEW -j ACCEPT
|
Anna teada, kui ei tööta.
Mis loom see sul selles teises koodijupis on? Shorewall ei tundu olevat... Mul on karvane tunne, et vigane on ka see. Mida sa seal kasutada üritad?
Mitut asja korraga kasutada pole otstarbekas. Kui sa seda softi kasutad, siis jäta iptables rahule ja vastupidi - muidu tuleb sellest paras segadus.
_________________ Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus. |
|
Kommentaarid: 33 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
32 |
|
tagasi üles |
|
 |
mightythor
HV veteran

liitunud: 02.12.2004
|
03.06.2008 16:30:19
|
|
|
Dogbert kirjutas: |
Ma pole käsitsi iptablesiga port forwardi teinud, aga proovi nii:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.252
iptables -A FORWARD -d 192.168.1.252 -p tcp --dport 80 -m state --state NEW -j ACCEPT
|
Anna teada, kui ei tööta.
Mis loom see sul selles teises koodijupis on? Shorewall ei tundu olevat... Mul on karvane tunne, et vigane on ka see. Mida sa seal kasutada üritad?
Mitut asja korraga kasutada pole otstarbekas. Kui sa seda softi kasutad, siis jäta iptables rahule ja vastupidi - muidu tuleb sellest paras segadus. |
teises koodijupis on käsu iptables -L väljund, st ikka sama iptables Aga sinu antud scriptiga näitab välisvõrgust scannides, et port 80 on avatud, kuid suunamist ei toimu, sest minu http testleht pole näha
|
|
Kommentaarid: 62 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
53 |
|
tagasi üles |
|
 |
Dogbert
HV Guru

liitunud: 03.05.2004
|
03.06.2008 19:02:30
|
|
|
/me läheb ja häbeneb nurgas...
_________________ Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus. |
|
Kommentaarid: 33 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
32 |
|
tagasi üles |
|
 |
mightythor
HV veteran

liitunud: 02.12.2004
|
03.06.2008 19:13:39
|
|
|
Dogbert kirjutas: |
/me läheb ja häbeneb nurgas... |
pole hullu. Aga jama on ikkagi selles, et see portide suunamine mul mingil põhjusel ei õnnestu. Aktiveerisin teises lokaalvõrgus olevas masinas(Windows XP Pro) RDP serveri ning proovisin siis analoogselt 3389 porti suunata, kuid ka see ei tööta. Samas kui portscanneriga porte skanneerin, siis ütleb, et is responding on port 3389. Kui port 80 skanneerida, siis ütleb, et is is responding on port 80. Aga kui näiteks RDP kliendi abil välisvõrgust ühenduda püüan, siis ei saa. Mida veel võiks proovida?
|
|
Kommentaarid: 62 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
53 |
|
tagasi üles |
|
 |
obundra
Kreisi kasutaja

liitunud: 06.01.2004
|
03.06.2008 20:08:22
|
|
|
Suunamine VNC tarvis käib minul nii
iptables -t nat -A PREROUTING -i $V2LISLIIDES -p tcp --dport 9900 -j DNAT --to-destination 192.168.32.16:5900
iptables -A FORWARD -p tcp -i $V2LISLIIDES -d 192.168.32.16 --dport 5900 -j ACCEPT |
lao ainult oma pordinumbrid, aadressid ja võrguliidese nimi asemele ja töötab ning "man iptables" on ka abiks kui enam miski ei aita
_________________ Hold the heathen hammer high! |
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
Dogbert
HV Guru

liitunud: 03.05.2004
|
03.06.2008 21:49:41
|
|
|
Hea küll. Nokitsesin seal nurgas käima mõne virtuaalmasina - Debiani panin ruutima ja ühe Windows XP panin selle loodud sisevõrku.
iptables reeglid järgmised:
(tegin nii lihtsa kui võimalik, ainus ruuteris töötav teenus on ssh
"välisvõrk" on 192.168.0.0/24
ruuteri väline aadress on 192.168.0.9, aga see pole oluline
sisevõrk on 192.168.1.0/24
forwardi teeme RDP pordile 3389, masinale aadressiga 192.168.1.131)
# vaikimisi poliitikaks ruuterisse väljastpoolt sisenevatele pakettidele on DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
# vaikimisi poliitikaks ruuterist väljuvatele pakettidele on ACCEPT - me tahame ju, et ruuter ise saaks võrku kasutada :)
iptables -P OUTPUT ACCEPT
# lubame ruuterisse pääseda juba loodud ühendustel ja nendega seotud paketid
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# lubame sama sise- ja välisvõrgu vahel toimuvatele ühendustele
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# lubame ruuterisse pääseda seal töötavale ssh serverile tulevad UUED paketid (edasi on ühendus juba loodud ja toimib ESTABLISHED reegel)
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport ssh -m state --state NEW -j ACCEPT
# paneme ruuteri NAT-i tegema - välisvõrku väljuvate pakettide saatja aadressi ruuteri aadressiks muutmine (maskeerimine)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# lubame sisevõrgu masinatel saata pakette välisvõrku
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
# muudame välise vahenäo 3389 porti tuleva paketi sihtaadressi sisevõrgus töötava Windowsi masina IP-ks
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.131
# lubame muudetud sihtaadressiga uued paketid sisevõrku
iptables -A FORWARD -d 192.168.1.131 -p tcp --dport 3389 -m state --state NEW -j ACCEPT
|
Töötab.
"välisvõrgust" saab kenasti sisevõrgus istuvasse Windowsi RDP-ga sisse, kui pöörduda ruuteri poole.
Windowsi masinast saab kenasti ruuteri ssh-sse ja välisvõrku.
Mida veel tarvis?
iptables -L väljund on liiga lakooniline, et sealt keerulisemaid reegeleid välja lugeda.
iptables -L -v on veidi parem.
Ja nat-i reeglite jaoks on vaja
iptables -t nat -n -L -v
_________________ Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus. |
|
Kommentaarid: 33 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
32 |
|
tagasi üles |
|
 |
mightythor
HV veteran

liitunud: 02.12.2004
|
11.06.2008 15:50:02
|
|
|
vabandust, et nii paika aja jarel vastan. Polnud lihtsalt vahepeal mahti sellega tegeleda. Maarasin ka enda masinale, kus mul terminaliserver jookseb, aadressi 192.168.1.131, aga mina RDP -d siiski toole ei saanud. Script on mul selline:
#!/bin/bash
# eth0 <-- LAN
# eth1 <-- WAN
# scripti turvalisuse ja universaalsuse nimel määrame kausta, kust scriptis valja kutsutavaid
# programme otsitakse
PATH="/sbin"
# kerneli seadistamine. lubame vorguliiklust suunata yhest vorguliidesest teisse. Selleks loome
# faili ip_forward ning selle sisuks kirjutame "1"
echo 1 > /proc/sys/net/ipv4/ip_forward
# kustutab tabeli "filter" ahelatese loodud reeglid
iptables -F
# kustutab tabeli "nat" ahelatesse loodud reeglid
iptables -t nat -F
# kustutab tabeli "mangle" ahelatesse loodud reeglid
iptables -t mangle -F
# kustutab koik mitte-vaikimisi ahelad tabelist "filter"
iptables -X
# kustutab koik mitte-vaikimisi ahelad tabelist "nat"
iptables -t nat -X
# kustutab koik mitte-vaikimisi ahelad tabelist "mangle"
iptables -t mangle -X
# kui INPUT ahela paketid ei vasta yhelegi maaratud reeglile, siis nad visatakse minema
iptables -P INPUT DROP
# kui OUTPUT ahela paketid ei vasta yhelegi maaratud reeglile, siis nad lastakse labi
iptables -P OUTPUT ACCEPT
# kui FORWARD ahela paketid ei vasta yhelegi maaratud reeglile, siis nad visatakse minema
iptables -P FORWARD DROP
# lubame paketid, mis on parit aadressile 127.0.0.1, labi. See on vajalik selleparast, et mitmed
# programmid eeldavad sellist suhtlust localhost adapteriga. Fontserver naiteks.
iptables -A INPUT -i lo -j ACCEPT
# lubame liikluse LAN liidesest tulemyyri arvutisse
iptables -A INPUT -i eth0 -j ACCEPT
# lubame loodud yhenduste koosseisu kuuluvad ja loodud yhendustega seotud paketid WAN liidesest
# tulemyyri arvutisse
iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# lubame sama sise- ja välisvõrgu vahel toimuvatele ühendustele
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# lubame ruuterisse pääseda seal töötavale ssh serverile tulevad UUED paketid(ma kustutasin konkreetse vorgu tapsustuse)
iptables -A INPUT -p tcp --dport ssh -m state --state NEW -j ACCEPT
# paneme ruuteri NAT-i tegema - välisvõrku väljuvate pakettide saatja aadressi ruuteri aadressiks muutmine (maskeerimine)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# lubame sisevõrgu masinatel saata pakette välisvõrku
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
# muudame välise vahenäo 3389 porti tuleva paketi sihtaadressi sisevõrgus töötava Windowsi masina IP-ks
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.131
# lubame muudetud sihtaadressiga uued paketid sisevõrku
iptables -A FORWARD -d 192.168.1.131 -p tcp --dport 3389 -m state --state NEW -j ACCEPT
|
Aga sul Dogbert see tootab? Mul kuskil 30s ootamise jarel ytleb, et ei saa terminaliserveriga yhendust kui valisvorgust yhenduda. ISP poolt on mul koik pordid lahti. Mis valesti voib olla?
|
|
Kommentaarid: 62 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
53 |
|
tagasi üles |
|
 |
kaabakas
HV veteran

liitunud: 01.04.2002
|
11.06.2008 17:05:35
|
|
|
Kas terminalserver ise lubab välisvõrgust ligi? Proovi mingi online portscanneriga ka. Ja proovi analoogse reegliga connectida mõnda teise teenusse.
_________________ Mida Ott ei õpi, seda Egon ei tea. |
|
Kommentaarid: 105 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
95 |
|
tagasi üles |
|
 |
obundra
Kreisi kasutaja

liitunud: 06.01.2004
|
11.06.2008 18:04:30
|
|
|
mightythor, sul vale võrgukaart seal reeglis ju.Ja mõnes reeglis veel mingi segadus, maskeraad käib sul ka sisevõrku miskipärast.
_________________ Hold the heathen hammer high! |
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
|