[Linux] IPtables, interface aliassen en meer plezier

Pagina: 1
Acties:

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
De situatie:
Afbeeldingslocatie: http://pierre.flexgaming.com/GoT2/netwerk-situatie.PNG

Precies zoals op het plaatje staat moet worden gerealiseerd. Internet moet via nat gaan. Nu heb ik deze rules tot nu toe staan, voor een simpele router van eth1 naar eth0 internet (stukje van script, en in quote anders wordt layout scheef ook is vanalles voluit geschreven, dat was toen ik nog moest wennen aan dit getyp):
case "$1" in
start)
echo "ROUTING WORDT GESTART:"

echo -n "Alles leegmaken"
iptables --flush INPUT
iptables --flush OUTPUT
iptables --flush FORWARD
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
echo ""

echo -n "Standaard beleid instellen"
iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP
echo ""

#Set up IP FORWARDing and Masquerading
echo -n "Forwarding en Masquerading instellen en toestaan"
iptables -A INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
iptables -A INPUT --match state --state NEW --in-interface ! eth0 --jump ACCEPT

iptables -A FORWARD --in-interface eth0 --out-interface eth1 --match state --state ESTABLISHED,RELATED --jump ACCEPT
iptables -A FORWARD --in-interface eth1 --out-interface eth0 --jump ACCEPT

# HIER START TOEVOEGING WAT ONVOLLEDIG IS
iptables -A FORWARD -s 192.168.1.0/24 --out-interface eth1 --match state --state NEW,ESTABLISHED,RELATED --jump ACCEPT
iptables -A FORWARD --in-interface eth1 --out-interface eth0:1 --jump ACCEPT
# EINDE TOEVOEGING

iptables --table nat -A POSTROUTING --out-interface eth0 --jump MASQUERADE
#Deze kon eventueel ook anders, eindigen op --jump SNAT --to INTERNETGATEWAYIP
echo " "
Nou zo ziet het er dus ongeveer uit. IPtables ondersteund geen virtuele netwerkkaarten, zoals ik heb. Maar nu struikelde ik nog over een ander probleem: De source adressen. Ik wil de source 10.x.x.x/8 graag naar alle netwerken laten gaan. Maar als ik meerdere source-en opgeef kan dat natuurlijk niet werken (?) aangezien de pc dan maar moet kiezen. Dit geld voor alle netwerken. Alleen internet moet eerst even worden gewurgt door NAT.

Op de bak staat ook iproute2, dat heeft te maken met het limiteren van bandbreedte voor bepaalde ip's. Heeft iemand daar nog wat aan?

Ik weet dat er mogelijkheden zijn met route, ik las ook over iproute2, en dan heb je ook nog iptables. IPchains kon wel dingen moet met virtuele kaarten, maar dat is alweer vervangen door iptables.

Google bood me geen info over deze opstelling, of ik moet wel heel scheef hebben gekeken (lijkt me een veelbesproken onderwerp?) op GoT heb ik ook dit soort dingen zien langskomen, maar vaak net ff anders.

Ik hoop dat ik dit even handig kan aanpakken :) routing enzo werkt allemaal prima vanuit de 10.x.x.x range naar internet, via NAT.

_/-\o_

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 19-02 14:54

RvdH

Uitvinder van RickRAID


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
:?
Precies zoals op het plaatje staat moet worden gerealiseerd
:?

Dus: Alle netwerken moeten bij elkaar kunnen kijken, dit ding routers alles. Alleen internet moet per DHCP gaan. Het liefst gebruik ik IPtables omdat ik een beetje weet hoe dat werkt, alleen nu is het ff lastig

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Gondor
  • Registratie: September 2003
  • Laatst online: 13:04
# HIER START TOEVOEGING WAT ONVOLLEDIG IS
iptables -A FORWARD -s 192.168.1.0/24 --out-interface eth1 --match state --state NEW,ESTABLISHED,RELATED --jump ACCEPT
iptables -A FORWARD --in-interface eth1 --out-interface eth0:1 --jump ACCEPT
# EINDE TOEVOEGING
Ik zal zelf geen regel maken met alleen -s en -o. En, "eth0:1" zal niet werken denk ik.

Ik denk dat het handig is om ff deze tutorial goed door te lezen:
http://iptables-tutorial....et/iptables-tutorial.html

Kijk vooral naar hoe pakketten per default door de firewall chains gaan en hoe je dat kan veranderen en waarom je dat zou willen, zou ik zeggen. Ik vind het een goede Tutorial.

edit:
Zie oa. "Chapter 3. Traversing of tables and chains"

[ Voor 6% gewijzigd door Gondor op 02-04-2004 16:36 ]

"Peace cannot be kept by force. It can only be achieved by understanding"-Albert Einstein-


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
eth0:1 werkt idd niet, helaas ondersteund het ding geen virtuele gevallen. Ik controleer nog even je link of dat helpt :)

ik heb hier en daar met google toch nog wat gevonden, maar allemaal incompleet. Misschien reageer ik straks niet meer omdat ik dan op een LAN zit :) dan kan ik maandag verder kijken :)

edit:
Ik heb iets om te proberen, maar ik moet NAT uitschakelen met die regels. Ik zoek maar zie geen regel om NAT uit te schakelen?

[ Voor 63% gewijzigd door pierre-oord op 02-04-2004 17:36 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Afbeeldingslocatie: http://www.pckennis.net/GoT/schop.png
Omhoog jij :P

[ Voor 113% gewijzigd door pierre-oord op 04-04-2004 21:06 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Gondor
  • Registratie: September 2003
  • Laatst online: 13:04
pierre-oord schreef op 02 april 2004 @ 17:00:
edit:
Ik heb iets om te proberen, maar ik moet NAT uitschakelen met die regels. Ik zoek maar zie geen regel om NAT uit te schakelen?
NAT uitschakelen? Ehm, of ik begrijp niet wat je bedoelt of :X

Dankzij deze regel van je maak je gebruik van NAT:
code:
1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
dus ...

"Peace cannot be kept by force. It can only be achieved by understanding"-Albert Einstein-


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

code:
1
2
3
4
// zet INPUT + FORWARD op DROP
// Accepteer established / related
iptables -o eth0 -i eth1 -s 10.0.0.0/255.0.0.0 -d 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/255.0.0.0 -j SNAT --to-source x.x.x.x (adres eth0)


Alleen moeten alle netwerken elkaar dan wel kennen. Ik doe het meestal zal :

code:
1
2
3
4
// zet INPUT + FORWARD op DROP
// Accepteer established / related
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/255.0.0.0 -d 192.168.1.0/255.255.255.0 -j SNAT --to-source x.x.x.x (adres eth0:0)
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/255.0.0.0 -j SNAT --to-source y.y.y.y (adres eth0)


Da's net zo handig :)

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Zoals igmar het doet krijg ik ook NAT op m'n interne netwerk. Dat hoeft helemaal niet.
code:
1
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/255.0.0.0 -d 192.168.1.0/255.255.255.0 -j SNAT --to-source x.x.x.x (adres eth0:0)


het probleem bij mij is dus:
code:
1
2
3
4
5
6
7
8
9
10
# Doorsturen adressen naar elkaar. Werkt iig al als ik geen NAT doe.
iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -o eth1 -d 10.0.0.0/8
iptables -A FORWARD -i eth1 -s 10.0.0.0/8 -o eth0 -d 192.168.1.0/24


iptables -A FORWARD i eth0 -o eth1 --match state --state ESTABLISHED,RELATED --jump ACCEPT
iptables -A FORWARD -i eth1 -o eth0 --jump ACCEPT

#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # Volgende manier schijnt sneller te zijn:
iptables -t nat -A POSTROUTING  -o eth0 -j SNAT --to 212.238.141.205


Ik dacht dat als ik de regels voor de verschillende netwerken eerst laad, dat iptables dan die regel als eerst uitvoert (hetzelfde effect als met -I van insert).

Echter kan ik niet het andere netwerk pingen. Zodra ik de regel met SNAT eruit haal gaat het wel. Oftewel: die connectie wordt genat, en dat wil ik niet. Hoe leg ik aan iptabels uit dat ik tussen de interne netwerken gewoon verkeer wil zonder NAT, en alle adressen die erbuiten vallen wel genat wordt? Misschien kan ik bij het natten nog iets doen met !range1 !range 2 ofzo, maar dat moet niet nodig zijn.

edit:
Ik vond net wat over null-nat, gewoon -j ACCEPT doen. Ik heb de regels die ik nie wil NATTEN op die manier gedaan, maar NAT blijft.

code:
1
2
3
4
5
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -d 10.0.0.0/8 -j ACCEPT
    iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -d 192.168.1.0/24 -j ACCEPT

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -t nat -A POSTROUTING  -o eth0 -j SNAT --to 212.238.141.205


edti2:
Ik heb nu deze output. Ik heb de regel met forward ook nog even op -j ACCEPT gezet, maar dat holp ook niet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            state NEW
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
DROP       tcp  --  anywhere             anywhere            tcp dpts:netbios-ns:netbios-ssn
DROP       udp  --  anywhere             anywhere            udp dpts:netbios-ns:netbios-ssn

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  192.168.1.0/24       10.0.0.0/8
ACCEPT     all  --  10.0.0.0/8           192.168.1.0/24
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             pckennis.net        state NEW tcp dpt:222
ACCEPT     tcp  --  anywhere             pckennis.net        mport ports ftp,smtp,www,pop3,27015,imap2,imaps state NEW
ACCEPT     udp  --  anywhere             10.0.1.2            state NEW udp dpt:8767
ACCEPT     tcp  --  anywhere             10.0.1.2            state NEW tcp dpt:47624
ACCEPT     tcp  --  anywhere             10.0.1.2            state NEW tcp dpts:2300:2400
ACCEPT     udp  --  anywhere             10.0.1.2            state NEW udp dpts:2300:2400
ACCEPT     udp  --  anywhere             10.0.1.2            state NEW udp dpt:27244
ACCEPT     tcp  --  anywhere             10.0.0.30           state NEW tcp dpt:27015
DROP       tcp  --  anywhere             anywhere            tcp dpts:netbios-ns:netbios-ssn
DROP       udp  --  anywhere             anywhere            udp dpts:netbios-ns:netbios-ssn

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  anywhere             anywhere            tcp dpts:netbios-ns:netbios-ssn
DROP       udp  --  anywhere             anywhere            udp dpts:netbios-ns:netbios-ssn

[ Voor 53% gewijzigd door pierre-oord op 05-04-2004 18:17 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

pierre-oord schreef op 05 april 2004 @ 17:30:
Zoals igmar het doet krijg ik ook NAT op m'n interne netwerk. Dat hoeft helemaal niet.
De reden waarom het anders niet werkt is dathet modem geen routering heeft naar het 10.x netwerk. Zonder die routering werkt het niet. In dat geval is een SNAT gewoon een heel stuk simpeler, en ik doe jet al tijden op deze manier.

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Nou ik bedoel: Behalve de connectie over het modem worden ook alle andere connecties geNAT . Als ik van netwerk 10.x.x.x naar 192.168.1.x wil gaan, wil ik niet door nat heen! Waarom vind ik niets op google? Als ik dat stukje over NAT uit m'n script haal werkt het perfect, alleen kan ik dan natuurlijk niet internet op. Oftewel: alleen NAT over m'n internet connectie.

edit:
Ik kan nog eens zoiets proberen:
iptables -t nat -A POSTROUTING -o eth0 -d !192.168.1.0/24 -j SNAT --to 212.238.141.205

Misschien zoiets, dus alles behalve %iets. Maar als ik dan daarachter of voor nog een regel maak met NAT en dan met -d !10.0.0.0/8 dan zal alsnog de eerste regel prioriteit krijgen.

Moet dit topic misschien worden gemoved naar NT of de advanced versie ervan?

Dus: 2 netwerken moeten op internet kunnen via NAT. Het beheer hiervan moet via IP's, niet netwerkkaarten omdat ik deels virtueel wil werken. De netwerken moeten elkaar kunnen zien, zonder NAT.

[ Voor 46% gewijzigd door pierre-oord op 06-04-2004 13:14 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Gondor
  • Registratie: September 2003
  • Laatst online: 13:04
Ik begrijp niet wat niet lukt :?

Volgens mij moet dit gewoon werken:
code:
1
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 212.238.141.205
zo worden alleen pakketten die door eth0 gaan ge-NAT-ed. De rest niet. Dat is toch wat je wilt?

En dan:
code:
1
2
3
4
5
6
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 10.0.0.0/8 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 10.0.0.0/8 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -d 192.168.1.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -d 192.168.0.0/24 -j ACCEPT

En moet je in FORWARD bij horende regels hebben.

PS. Ik hoop dat die fw regels niet je echte regel zijn. Anders kan je net zo goed iptables niet gebruiken voor filtering.

PS2. Heb je die tutorial gelezen? :/

"Peace cannot be kept by force. It can only be achieved by understanding"-Albert Einstein-


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Nou, het lukt helaas niet met je reply. Ik had dit overigens al gedaan. Ik post hier even het bestand zoals het er nu uitziet met wat comment's erin. Ik probeer eerst alles van ETH1 (10.0.0.x) naar ETH0:1 (192.168.1.x) te laten routeren, en andersom.

Ik begrijp er echt niets meer van. Als ik een tracert uitvoer naar een IP op een ander netwerk, krijg ik wel te zien dat dat via de gateway verloopt, tenminste, daarna gebeurd er niets meer.

Klik hier voor een tekstbestand met de laatste regels

Alvast bedankt voor jullie hulp. Die howto heb ik wel even gelezen hoor overigens, maar daar staat niet in wat er hieraan mis kan zijn. NAT werkt overigens wel zonder problemen. Ik heb trouwens ook IProute2 geinstalleerd staan op die bak, maar dat heeft er toch niets mee te maken?

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
schop ;(

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Gondor
  • Registratie: September 2003
  • Laatst online: 13:04
[quote]
code:
1
2
3
4
iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -o eth1 -d 10.0.0.0/8 \
             --match state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -A FORWARD -i eth1 -s 10.0.0.0/8 -o eth0 -d 192.168.1.0/24 \
             --match state --state ESTABLISHED,RELATED,NEW -j ACCEPT

De interface en ip-ranges combinatie wat je hier hebt komt niet overeen met de combinatie wat je in je startpost hebt.

Als dit het script is wat je gebruikt zoals het nu is, check dat even en kijk of het dan wel werkt.

PS. Er zijn wel wat dingen die beter kunnen en ook dingen wat niet nodig zijn maar eerst zorgen dat hij uberhaupt werkt ;)

"Peace cannot be kept by force. It can only be achieved by understanding"-Albert Einstein-


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
[quote]Gondor schreef op 08 april 2004 @ 22:03:
code:
1
2
3
4
iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -o eth1 -d 10.0.0.0/8 \
             --match state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -A FORWARD -i eth1 -s 10.0.0.0/8 -o eth0 -d 192.168.1.0/24 \
             --match state --state ESTABLISHED,RELATED,NEW -j ACCEPT

De interface en ip-ranges combinatie wat je hier hebt komt niet overeen met de combinatie wat je in je startpost hebt.

Als dit het script is wat je gebruikt zoals het nu is, check dat even en kijk of het dan wel werkt.

PS. Er zijn wel wat dingen die beter kunnen en ook dingen wat niet nodig zijn maar eerst zorgen dat hij uberhaupt werkt ;)
ja dat er wat dingen beter kunnen weet ik, maar idd, het moet gewoon even werken ;)

Maar ik zie niet wat jij zegt dat niet in m'n start-post staat. Eth0:1 kent iptables niet, die kan niet overweg met aliassen van netwerkkaarten.

Zoals ik bijna zeker week kreeg ik dit wel aan de praat zonder NAT, maar plots lukt dat dus ook niet meer ?

Is er niet een tweaker die dit precies hetzelfde heeft?

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Gondor
  • Registratie: September 2003
  • Laatst online: 13:04
Hmm, ok.

Probeer het volgende eens:
code:
1
2
3
4
5
6
7
8
9
iptables -F FORWARD
iptables -A FORWARD -s 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -m --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -d 10.0.0.0/8 -j ACCEPT
iptables -t nat -A POSTROUTING -d 192.168.0.0/16 -j ACCEPT
iptables -t nat -A POSTROUTING -j SNAT --to-source 212.238.141.x

Als dit het ook niet doet dan is het misschien handig om je routing tabel te checken.

"Peace cannot be kept by force. It can only be achieved by understanding"-Albert Einstein-


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Ik heb het geprobeerd, maar het werkt weer niet ;( maar bedankt voor je reply. Ik begrijp er echt niets van. Op mijn eigen PC zou ik toch niets hoeven aan te passen (pc in 10.0.0.x range).
De server zelf kan ik wel pingen op zijn ip. Routing tabel met deze instellingen:
server-hp:/etc/router/gateway# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth2
212.238.140.0 * 255.255.252.0 U 0 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 eth1
default bbned-demon-10k 0.0.0.0 UG 0 0 0 eth0
server-hp:/etc/router/gateway#
Ik moet nog even hiermee leren om te gaan...
Overigens werken alle schakelopties van route niet, -v , -F enz geeft precies hetzelfde weer. Is dat normaal?

edit:
Ik weet dat er ook sniffers enzo zijn. Misschien moet ik zoiets eens proberen om te kijken wat er met een pakketje gebeurd?

[ Voor 9% gewijzigd door pierre-oord op 09-04-2004 11:35 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
;(

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
:'( :'( :'( :'( :'( :'( :'( :'( :'( :'(

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


Verwijderd

pierre-oord schreef op 09 april 2004 @ 11:34:
Ik moet nog even hiermee leren om te gaan...
Overigens werken alle schakelopties van route niet, -v , -F enz geeft precies hetzelfde weer. Is dat normaal?
Als je de route tabel gaat manipuleren met die schakelopties werkt het wel.
edit:
Ik weet dat er ook sniffers enzo zijn. Misschien moet ik zoiets eens proberen om te kijken wat er met een pakketje gebeurd?
Dat lijkt me sowieso verstandig als je met dit soort dingen bezig bent.

Ik heb even heel snel op basis van jouw regels het scriptje aangepast, naar een versie die (in theorie :P ) zou moeten werken (niet getest, dus er kunnen tikfoutjes etc. inzitten....)
Meteen maar even wat variabelen aangemaakt, die het geheel wat inzichtelijker maken ;)

Het vreemde aan je setup is de internet verbinding en het modem subnet.
Als je gaat Source Natten over interface eth0 (en dus automatisch over eth0:1 als je geen destination restricties oplegt), dan gaat je verkeer naar het modem toe de mist in.

Bestandje: http://careworks.nl/got/netwerk-regels.txt

Overigens adviseer ik om voor dit soort netwerk indelingen een zones-gebaseerde firewall ala fiaif te gebruiken. Deze zijn bij uitstek geschikt voor het goed en uitgebreid instellen van een firewall voor meerdere subnets (zones). Zeker als de iptables kennis nog niet helemaal optimaal is.
www.fiaif.net is de url.

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Verwijderd schreef op 12 april 2004 @ 22:28:
[...]

Als je de route tabel gaat manipuleren met die schakelopties werkt het wel.

[...]

Dat lijkt me sowieso verstandig als je met dit soort dingen bezig bent.

Ik heb even heel snel op basis van jouw regels het scriptje aangepast, naar een versie die (in theorie :P ) zou moeten werken (niet getest, dus er kunnen tikfoutjes etc. inzitten....)
Meteen maar even wat variabelen aangemaakt, die het geheel wat inzichtelijker maken ;)

Het vreemde aan je setup is de internet verbinding en het modem subnet.
Als je gaat Source Natten over interface eth0 (en dus automatisch over eth0:1 als je geen destination restricties oplegt), dan gaat je verkeer naar het modem toe de mist in.

Bestandje: http://careworks.nl/got/netwerk-regels.txt

Overigens adviseer ik om voor dit soort netwerk indelingen een zones-gebaseerde firewall ala fiaif te gebruiken. Deze zijn bij uitstek geschikt voor het goed en uitgebreid instellen van een firewall voor meerdere subnets (zones). Zeker als de iptables kennis nog niet helemaal optimaal is.
www.fiaif.net is de url.
Ik ga er zo even mee spelen, je hebt er wel erg je best op gedaan :P thx :)

En die IPtables kennis ben ik hard aan het bijspijkeren, ik moet alleen even weten waarom dit niet werkt. Als dit werkt, ga ik wat strakkere regels >:) instellen :)

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
het script ziet super uit, ik heb het meteen overgenomen ;)

Maar helaas; het werkt niet ( :? ). Internetten gaat prima. Alleen als ik op het 10.0.0.x netwerk gewoon intyp "ping 192.168.1.1" in windows (het modem ip) dan krijg ik geen antwoord. Als ik de server ping, 192.168.1.2 krijg ik wel antwoord.

Ik zou toch niets moeten hoeven aanpassen aan de client?

Als ik een tracert doe zie ik wel dat de windows bak eerst via de standaard gateway (10.0.0.1) wil gaan.

Wat is er fout met iptables? Ik draai overigens ook iproute2, dat was nodig voor bandbreedte beheer geloof ik, verder is daar niets aan ingesteld. Ik begrijp hier echt niets meer van. Toch hardstikke bedankt voor je script hoor, misschien zit de fout ergens anders?

Misschien kan iemand me een zetje in de rug geven met een sniffer ofzo, ik heb dat nog niet eerder gebruikt (zeker niet onder linux). óf er zit misschien toch iets fout in de scriptjes, misschen wel heel simpel.

edit:
Het moet toch niet nodig zijn om iets aan de route tabel op de windows clients aan te passen?

Overigens heb ik net een pctje gehangen aan de "loos" interface. Pingen vanaf de router zelf gaat prima, echter vanaf eth1 af wordt het niets.
edit:

Ik kwam tcpdump tegen op internet. Even gebruikt op ETH2. Ik ping nu vanaf eth1. Ik krijg dan:

code:
1
2
3
4
5
6
7
8
9
10
11
12
server-hp:/etc/router# tcpdump -i eth2
tcpdump: listening on eth2
20:04:54.940966 arp who-has 192.168.0.2 tell 192.168.0.1
20:04:54.941458 arp reply 192.168.0.2 is-at 0:a0:24:2e:3b:86
20:04:54.941539 10.0.1.94 > 192.168.0.2: icmp: echo request
20:04:56.310775 10.0.1.94 > 192.168.0.2: icmp: echo request
20:04:57.312169 10.0.1.94 > 192.168.0.2: icmp: echo request
20:04:58.313387 10.0.1.94 > 192.168.0.2: icmp: echo request


6 packets received by filter
0 packets dropped by kernel

Oftewel: het komt er wel doorheen, maar niet terug, als ik het goed begrijp. Kan er een regel mis zitten?

O wacht ff, die PC heeft geen gateway ingesteld!!!! Even instellen, zou dat het zijn?

edit:
Ja! Dat was het, op netwerk eth2. Nu krijg ik ping's terug!

Nu zit ik alleen met dat internet modem; daar wil ik naar kunnen telnetten om instellingen te kunnen aanpassen. In dat ding kan ik geen gateway instellen geloof ik (dat is het zelf in principe geloof ik :P )


Ik kan het idd niet vinden in de modem opties. Ik ga even googlen op dat modem. maar omdat ik altijd het modem probeerde te pingen is het niet zo gek dat ik geen reply's kreeg, aangezien daar dus geen gateway is ingesteld. Nu met de sniffer en een losse bak aan eth2 ben ik veel wijzer geworden. Even zoeken, ik houd jullie op de hoogte ;)

[ Voor 54% gewijzigd door pierre-oord op 13-04-2004 20:15 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


Verwijderd

pierre-oord schreef op 13 april 2004 @ 14:53:
[...]


Ik ga er zo even mee spelen, je hebt er wel erg je best op gedaan :P thx :)
Als je wat vaker scripts geschreven hebt, dan rollen ze er nogal snel uit ;)
pierre-oord schreef op 13 april 2004 @ 18:38:
edit:
Het moet toch niet nodig zijn om iets aan de route tabel op de windows clients aan te passen?
Een default gateway is altijd wel handig wil je ooit buiten je eigen subnet komen :+ ;)

Die default gw moet uiteraard het IP adres binnen het juiste subnet zijn van de Linux server.
Nu zit ik alleen met dat internet modem; daar wil ik naar kunnen telnetten om instellingen te kunnen aanpassen. In dat ding kan ik geen gateway instellen geloof ik (dat is het zelf in principe geloof ik :P )
Bij elke fatsoenlijke modem kun je static routes toevoegen en zodoende kun je dus opgeven dat bepaalde subnetten vanuit het modem gezien via een bepaald ip bereikbaar moeten zijn (dat ip moet dus het IP van de server zijn binnen het modem subnet).
Ik kan het idd niet vinden in de modem opties. Ik ga even googlen op dat modem. maar omdat ik altijd het modem probeerde te pingen is het niet zo gek dat ik geen reply's kreeg, aangezien daar dus geen gateway is ingesteld. Nu met de sniffer en een losse bak aan eth2 ben ik veel wijzer geworden. Even zoeken, ik houd jullie op de hoogte ;)
Mocht het nou niet lukken met het modem, dan zou je uiteraard verkeer met als destination het modem IP kunnen SNATTEN naar het IP van de server op interface eth0:1
Dus dan voeg je aan het script toe:

code:
1
2
3
4
5
IP_MODEM="192.168.1.XXX"
IP_SERVER="192.168.1.XXX"

${IPT} -A POSTROUTING -s ! ${SN_MODEM} -d ${IP_MODEM} -o ${IF_MODEM} \
                                       -j SNAT --to ${IP_SERVER}

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Verwijderd schreef op 14 april 2004 @ 21:27:
[...]

Als je wat vaker scripts geschreven hebt, dan rollen ze er nogal snel uit ;)


[...]

Een default gateway is altijd wel handig wil je ooit buiten je eigen subnet komen :+ ;)

Die default gw moet uiteraard het IP adres binnen het juiste subnet zijn van de Linux server.


[...]

Bij elke fatsoenlijke modem kun je static routes toevoegen en zodoende kun je dus opgeven dat bepaalde subnetten vanuit het modem gezien via een bepaald ip bereikbaar moeten zijn (dat ip moet dus het IP van de server zijn binnen het modem subnet).


[...]

Mocht het nou niet lukken met het modem, dan zou je uiteraard verkeer met als destination het modem IP kunnen SNATTEN naar het IP van de server op interface eth0:1
Dus dan voeg je aan het script toe:

code:
1
2
3
4
5
IP_MODEM="192.168.1.XXX"
IP_SERVER="192.168.1.XXX"

${IPT} -A POSTROUTING -s ! ${SN_MODEM} -d ${IP_MODEM} -o ${IF_MODEM} \
                                       -j SNAT --to ${IP_SERVER}
Ik ga straks of morgen nog wel even in het modem kijken maar verwacht niet iets te vinden, ik had toch best goed gekeken.

Over dan NAT idee: dat had ik zelf al bedacht :p kijk maar naar m'n topic in NT; krijg ik nu een NOS pluspunt? :P ;)

Bedankt voor al jullie hulp. Ik heb het zo opgelost ter verduidelijking: Een PC aan ETH2 gehangen (oude pentium waar nog linux op stond dat wel kon terugpingen :P ), daarheen gepingt, en toen er niets terug kwam eens tcpdump gebruikt op ETH2. Daar zag ik wel aanvragen vanuit mijn kant, maar niet terug. Ik maar denken, wat kan dat zijn :? dus ik redeneer: pakketje wil erheen, moet over gateway, komt aan, wil terug, over....gateway..... Even toevoegen, kreeg ping's terug, en zodoende weet ik dat het hetzelfde probleem is bij het modem :)

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

pierre-oord schreef op 02 april 2004 @ 14:30:
Nou zo ziet het er dus ongeveer uit. IPtables ondersteund geen virtuele netwerkkaarten, zoals ik heb.
Mijn virtuele ppp0 wordt anders prima ondersteund :?.

Wie trösten wir uns, die Mörder aller Mörder?


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 20-02 12:27
Confusion schreef op 15 april 2004 @ 09:08:
[...]

Mijn virtuele ppp0 wordt anders prima ondersteund :?.
Misschien ppp wel :? maar probeer maar eens een optie als -i eth0:1 op te geven, dat werkt niet. Ook via google komt eruit dan iptables het niet ondersteund, ipchains overigens wel.

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)

Pagina: 1