Toon posts:

IPTables???

Pagina: 1
Acties:

Verwijderd

Topicstarter
Nu ik ADSL (Alcatel Speedtouch 510) werkend heb op eth1 en op eth0 mijn netwerk heb, wil ik graag internet delen. Heb wat documenten gelezen en uitgevogeld dat ik hiervoor IP Masquerading moet gebruiken. So far, so good.

Facts: Kernel 2.4.2 (Distr SuSe 8.1),
/proc/sys/net/ipv4/ip_dynaddr aanwezig
/proc/sys/net/ipv4/ip_forward aanwezig

Nu heb ik een script om die masquerading aan te zetten, ik ben nogal een newbie in Linux, dus heb wat dingen aangepast, maar het lijkt niet te werken. Wat doe ik fout?

eth0 (192.168.0.1, 255.255.255.0) -
eth1( dyn door ADSL modem gezet op 10.0.0.150)

Delen uit script:
-----------------------------------------------------------

IPTABLES=/usr/local/sbin/iptables
DEPMOD=/sbin/depmod
INSMOD=/sbin/insmod
EXTIF="eth0"
INTIF="eth1"

$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 FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG

echo " Enabling SNAT (MASQUERADE) functionality on $EXTIF"
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Verwijderd

Verwijderd schreef op 04 februari 2003 @ 13:50:
Facts: Kernel 2.4.2 (Distr SuSe 8.1),
/proc/sys/net/ipv4/ip_dynaddr aanwezig
/proc/sys/net/ipv4/ip_forward aanwezig
Ze moeten niet aanwezig zijn, je moet "echo 1 >> ${file}" doen.

[ Voor 5% gewijzigd door Verwijderd op 04-02-2003 14:07 ]


Verwijderd

Topicstarter
cat /proc/net/ip_tables_names heb ik uitgevoerd om de huidige ip_tables te bekijken. file is niet aanwezig ofzo. Hoe kan ik bekijken (checken) welke ip-adressen aan elkaar gekoppeld zijn? Het script lijkt succesvol uitgevoerd te worden, alleen krijg ik geen contact op m'n client machine (wel gateway 192.168.0.1 ingesteld)

Verwijderd

echo 1 >/proc/sys/net/ipv4/ip_forward
en dan zou het al moeten werken zoals Beelzebubu zegt

en dan ook nog ff echo 1 >/proc/sys/net/ipv4/ip_dynaddr

[ Voor 6% gewijzigd door Verwijderd op 04-02-2003 14:31 ]


  • cavey
  • Registratie: Augustus 2000
  • Laatst online: 17-02 19:31
stukje uit mijn firewall.sh:

#!/bin/sh

# drop all packets while updating the firewall
IPTABLES=/usr/local/sbin/iptables

# don't accept any packets while setting up firewall
echo "Disabling packets..."
$IPTABLES -P INPUT DROP

# flush all tables
echo "Flushing rules..."
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F OUTPUT

echo "Setting up masquerading ..."
$IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE
^^^^
die regel doet dus zeggen dat alles door eth1 ge-masquerade moet worden.. da's de _uitgaande_ netwerk kaart. ... kweet niet of dat bij jou dan eth0 of eth1 is.. bij mij iig eth1 waar ik mee aan het internet hang ;)

# laat alles maar doorrrrrrrrrrrr
$IPTABLES -P INPUT ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
^^^^^
misschien heb je die ip_forward niet gedaan...


zo, met wat "extra" commentaar erbij...

Verwijderd

Topicstarter
even een 'newbie' vraag... als ik in de shell: /proc/sys/net/ipv4/ip_forward
intik, krijg ik permission denied. Wat betekent in het script echo 1 > /proc/
echo staat voor iets tonen op het beeld, dat weet ik nog wel van dos, en > iets pipelinen geloof ik (bijv een file), maar 1?

En 'komakeef', bedankt voor het stukie script, alleen zie ik bij jou geen eth0. Die moet je toch ook ergens opgeven, anders weet die toch niet waar die de IP requests heen moet sluizen?

Voor de rest heb ik in m'n script [ik kan em posten] het loaden van modules, maar volgens mij is dit niet nodig aangezien die al met de kernel geladen zijn.

Verwijderd

Je zet met die echo 1 ipforward aan voor het ipv4 gedeelte.
Als je dus echo 0 ernaartoe stuurt zet je het uit.

iets anders als een 0 of een 1 ernaartoe sturen kan dan ook niet aangezien het gewoon een bitje is die je kan 'setten'.

[ Voor 14% gewijzigd door Verwijderd op 04-02-2003 15:15 ]


Verwijderd

Topicstarter
M'n output: is dit goed?

Enabling forwarding..
Enabling DynamicAddr..
Clearing any existing rules and setting default policy..
FWD: Allow all connections OUT and only existing and related ones IN
Enabling SNAT (MASQUERADE) functionality on eth1

Done.

P2:/etc/init.d # iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Verwijderd

ziet er wel redelijk ok uit, gaat er al traffic door die bak heen nu?

Verwijderd

Topicstarter
Nee, helaas. Hoe kan ik dit checken. Momenteel ping ik me een ongeluk :)

Op m'n linux bak gaat ping www.google.com goed, ook zie ik dat ie dan van 10.0.0.150 naar m'n XS4ALL dyn-adres gaat, waarna ie verder het internet op gaat.

Ping ik 192.168.0.2 dan krijg ik ook een response van m'n Win-XP bak.
Ping ik op m'n WinXP 192.168.0.1 dan krijg ik response, ping ik www.google.com, dan mist ie et.

Alles wat ik toch moet instellen in XP is een vast Ip (192.168.0.2) met gateway 192.168.0.1 toch?

  • AlterEgo
  • Registratie: Juli 2001
  • Niet online
Je kunt ook makkelijk doen;
Firestarter zit vast standaard bij SuSE.
Sinpel te configureren firewall met internet-delen-mogelijkheid.
3 Minuten configgen en gaaan :) en daarna rustig een hoop docs lezen om zelf met een firewall scriptje te spelen.

Verwijderd

Het is op zich ook wel erg handig om je EXTIF en INTIF om te draaien 8)7

Die namen betekenen precies wat het lijkt. EXTIF = external interface; ofwel moet je ADSL interface zijn (eth1).
INTIF = internal interface, ofwel de interface op je interne netwerk (eth0)

Komisch dat niemand dat opvalt :?
Verwijderd schreef op 04 February 2003 @ 14:06:
[...]


Ze moeten niet aanwezig zijn, je moet "echo 1 >> ${file}" doen.
"echo 1 > ${file}" lijkt me handiger :+ ;)

Verwijderd

Topicstarter
Verwijderd schreef op 04 February 2003 @ 15:59:
Het is op zich ook wel erg handig om je EXTIF en INTIF om te draaien 8)7
Heheheh :) Dat had ik gelukkig zelf ook al door, die kut en peest was nog uit het beginscript, heb ik direct aangepast. Maar toch bedankt...

Ik heb em nu werkend! :P Toch maar de standaard firewall van SuSe gestart, en dit lukte wel goed. Ik ga voor de lol nog maar eens klussen met een eigen script later..

Een vraag nog: In Win-XP (ik weet het :r, niet het favo onderwerp binen de linux wereld) heb ik als gateway 192.168.0.1 ingesteld en de DNS server van XS4ALL.

Dit werkt, maar kan dit niet sneller? Is dit niet omslachtig? De ADSL modem weet automatisch het DNS, en geeft dit (waarschijnlijk) door aan linux. Hoe zit dit in elkaar, er is toch een file 'hosts', 'resolve' enz? Misschien is de vraag een beetje vaag 8)7 (ik weet het wel zeker, maar toch)

Verwijderd

Is bij een ADSL aansluiting eth1 wel de externe interface? Volgens mij is bij ADSL ppp0 (point to point protocol) de externe interface.

probeer eens:

EXTIF="ppp0"
INTIF="eth0"

  • hammerhead
  • Registratie: April 2000
  • Laatst online: 08:08
Verwijderd schreef op 04 February 2003 @ 17:13:
Is bij een ADSL aansluiting eth1 wel de externe interface? Volgens mij is bij ADSL ppp0 (point to point protocol) de externe interface.

probeer eens:

EXTIF="ppp0"
INTIF="eth0"
Bij de nieuwe modems hoef je zelf geen PPP verbinding meer op te zetten.... Dan zorgt het modem daarvoor... Het enige wat je hoeft te doen is je netwerkinstellingen op automagisch zetten en het zou al gelijk moeten werken aangezien de nieuwe modems tevens een router zijn....

Theoretisch heb je verder ook geen andere router nodig... Je kunt de speedtouch gewoon aansluiten op de uplink van je HUB/Switch en je bent klaar, hij deelt verder alles uit mbv DHCP.

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


Verwijderd

Verwijderd schreef op 04 februari 2003 @ 17:07:
[...]

Een vraag nog: In Win-XP (ik weet het :r, niet het favo onderwerp binen de linux wereld) heb ik als gateway 192.168.0.1 ingesteld en de DNS server van XS4ALL.

Dit werkt, maar kan dit niet sneller? Is dit niet omslachtig? De ADSL modem weet automatisch het DNS, en geeft dit (waarschijnlijk) door aan linux. Hoe zit dit in elkaar, er is toch een file 'hosts', 'resolve' enz? Misschien is de vraag een beetje vaag 8)7 (ik weet het wel zeker, maar toch)
Je bedoelt dat je via dhcp je interne ip adressen en je DNS servers uit wil delen aan je clients of wil je een caching DNS server draaien die de DNS requests van je clients afhandeld ipv. de DNS servers van xs4all?

Verwijderd

Topicstarter
Verwijderd schreef op 04 februari 2003 @ 17:47:
[...]

Je bedoelt dat je via dhcp je interne ip adressen en je DNS servers uit wil delen aan je clients of wil je een caching DNS server draaien die de DNS requests van je clients afhandeld ipv. de DNS servers van xs4all?
Wat is het snelst en het meest efficient?

1. Bij je client de XS4ALL DNS invullen
2. DNS via DHCP verstrekken aan clients (doorgeven?)
3. DNS server opzetten binnen m'n linux distro

Jammer, dat je hier geen poll van kan maken :)

Verwijderd

Kan ik zo wel antwoorden voor je hoor ;)

Eigen DNS-server, omdat je dan het grote voordeel van de caching hebt. Een DNS server cached requests. Als je dan dezelfde aanvraag van een client nogmaals doet, dan krijg je veel sneller antwoord. Staat die server dan ook nog eens lokaal, dan kun je je voorstellen dat sneller dan dat niet kan. :)

Verwijderd

Topicstarter
Mmmm, 8)7 eigenlijk wel logisch.... Stel dat ik dan m'n linux-bak-ip als DNS invul in XP dan doet ie het niet automatisch.... Duh...

Kortom, hoe stel ik m'n locale DNS server op? En heeft dat nog consequenties met IP-masquerading? In welke locale linux file plaatst die dan de IP's en hun adressen?

Verwijderd

Zo makkelijk gaat het nou ook weer niet ;)

De cache wordt sowieso nooit op disk gezet. Deze wordt altijd in geheugen bijgehouden. Gaat je linux machine uit, dan is ook de cache weg ;)

Maar goed, daar zijn mooi HOWTO's voor gemaakt en ik zal even meteen een linkje geven naar het deel over een caching/resolving DNS-server onder linux:
http://www.tldp.org/HOWTO/DNS-HOWTO-3.html

Overigens heeft dit geen consequenties voor je masquerading o.i.d. ;)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 11:29

deadinspace

The what goes where now?

Totaal offtopic:
Verwijderd schreef op 04 February 2003 @ 13:50:
Facts: Kernel 2.4.2 (Distr SuSe 8.1),
Je wilt misschien je kernel upgraden; 2.4.2 (alle 2.4 kernels < 2.4.11) heeft een local root exploit.

  • irondog
  • Registratie: Januari 2001
  • Laatst online: 11-05-2025

irondog

alle dingen moeten onzin zijn

Ik heb gisteren ook even geprobeerd mijn interniet door te lussen naar mijn laptop (zonder in eerste instantie te willen denken aan security).
Ik heb de Linux IP Masquerade HOWTO gelezen en de stappen doorgenomen om een kernel te configgen voor Masquerade ZONDER een patch toe te passen. (ik denk dat dat ook goed moet kunnen zonder).

Maar na het compilen van een nieuwe kernel (2.4.20) was het netwerken buggy. (rare antwoorden op pings enzo)

Omdat ik het gisteren niet aan de praat gekregen heb, heb ik een aantal vragen over dit onderwerp / deze Howto:
* Is het bestaan van /proc/sys/net/ipv4/ip_dynaddr en ip_forward genoeg om te kunnen routen? m.a.w. was mijn kernel reeds geschikt zonder al die extra kernel opties. Volgens de howto wel, maar het lijkt er niet echt op. dus....
* Is het niet bestaan van (onder andere) Kernel/User netlink socket (CONFIG_NETLINK) in het kernel config menu problematisch?

[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]


  • irondog
  • Registratie: Januari 2001
  • Laatst online: 11-05-2025

irondog

alle dingen moeten onzin zijn

Ik heb geen flauw id hoe ver ik nu van de werkdende oplossing vandaan zin. Het werk iig nog steeds niet. :X :X

Ok. Dit heb ik dus:
eth1: internet
eth0: 192.168.0.1 netmask 255.255.255.0
laptop: 192.168.0.2 netmask: 255.255.255.0 gateway: 192.168.0.1
nu ga ik op mijn laptop Google pingen en net zolang mijn iptables instellingen veranderen totdat ik internet heb op mijn laptop:
#ping 216.239.33.100
timeout ...

Dit script heb ik om routing in te schakelen:
#!/bin/sh

# drop all packets while updating the firewall
IPTABLES="`which iptables`"

# don't accept any packets while setting up firewall
echo "Disabling packets..."
$IPTABLES -P INPUT DROP

# flush all tables
echo "Flushing rules..."
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F OUTPUT

echo "Setting up masquerading ..."
$IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# laat alles maar doorrrrrrrrrrrr
$IPTABLES -P INPUT ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Het werkt gewoon NIET Waar moet ik nu in godsnaam verder zoeken?

[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]


Verwijderd

Topicstarter
irondog schreef op 05 februari 2003 @ 21:08:
Het werkt gewoon NIET Waar moet ik nu in godsnaam verder zoeken?
Als je SuSE draait, kan ik je de interne SuSEFirewall toch wel aanraden. Ik ben (nog) een redelijke newbie m.b.t. LinuX, maar dat werkte perfect! Ik ben wel druk bezig met allerlei Howto's enz....

ps: Vergeet niet als je SAMBA hebt draaien om in het config script SMB access toe te staan, anders kan je filesharing wel vergeten :) Gisteren ff mee zitten te klussen.

Verwijderd

IPTABLES="`which iptables`"
Vul dat eens in , ik denk dat dat de bedoeling is. Zal wel iets zijn van /usr/local/sbin/iptables of zo.

[ Voor 45% gewijzigd door Verwijderd op 06-02-2003 14:08 ]


  • cavey
  • Registratie: Augustus 2000
  • Laatst online: 17-02 19:31
oi, ik heb inderdaad geen eth0 erin staan, dat is m'n Internal interface (ah! heerlijk naampie, die was ik ff "vergeten" tnx!!), dus voor interne netwerk... Linux is wat dat betreft slim genoeg om door te hebben dat als het niet via ene interface de deur uit kan.. het wellicht via de andere interface wel kan...

Dus ik hoef niet te zeggen dat die alles van eth0 moet forwarden... iptables neemt nu gewoon aan dat die _alles_ wat maar van een netwerk kaart af komt moet forwarden ...

en dat gaat dan over m'n externe interface eth1 ... maja, scriptje zelf in mekaar gebakken aan de hand van rusty's iptable's how-to's (www.netfilter.org ofzo?) en nog niet zo configureerbaar gemaakt dat het voor iedereen te gebruiken is :)

maar suc6 er verder mee! Probeer dit eens op je gateway:

netstat -r (als gewone user zijnde)
of
route -n

en route print op je win xp bak... hoewel.. nee, als je vanaf je win xp bak je gateway kan pingen zit dat iig al goed..

probably dat het forwarden gewoon nog niet lukken wil met iptables.

hmm..

iptables -t nat -L

ennuh

iptables -L

wat voor uitvoer geven die?

  • cavey
  • Registratie: Augustus 2000
  • Laatst online: 17-02 19:31
@iron-figuur (sorry, ff hele handle vergeten.. sowwy sowwy)

wat ook wil helpen is als je, als je zelf netfilter compileert + nieuwe kernel.. om toch zeker de patch-o-matic te draaien van netfilter !!!

scheelt je hoop buggy netwerk dingen waarschijnlijk.


en iig de how-to's op www.netfilter.org bekijken voor iptables...

Verwijderd

Ik heb niet alle reacties door gelezen maar ik zal het een en ander schrijven misschien heb je er wat aan:
ps ik werk met ipchains, maar dat zou qua basis niet veel mogen uitmaken.
1. OP je windows machine moet je gateway het ipadres van je netwerkkaart zijn dus in jouw geval 192.168.0.1, als je dhcp draait ten minste (neem aan van wel)
2. extif = ppp0
3. ping je 2e netwerkaart en je modem

Verwijderd

Dit is geen 'dump hier je firewall gerelateerde vragen' topic. En aangezien er mensen zijn die vinden dat ze dat wel moeten doen heb ik 1 vraag van peter2004 getrashed. Ipchains <> iptables.
Pagina: 1