Toon posts:

IPTABLES moeilijkheden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben al een paar weken bezig met iptables, het wil maar niet werken.
Het is de bedoeling dat mijn server het internet gaat delen naar m'n laptop die achter m'n server hangt.

M'n server maakt verbinding via een wireless lan card (dat werkt), alleen ik kan via m'n laptop niet het internet op.

Ik heb tot nu toe het volgende in m'n iptables staan

code:
1
2
3
4
5
6
7
8
9
10
11
homeserv:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  192.168.0.0/24      !192.168.0.0/24
ACCEPT     all  -- !192.168.0.0/24       192.168.0.0/24     state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

code:
1
2
3
4
5
6
7
8
9
10
11
12
homeserv:~# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
homeserv:~#


het volgende script wordt automatisch gestart als ik opstart...
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/sh

# Masquerading firewall (simpel)

# Een hele eenvoudige masquerading firewall waarmee het mogelijk om met het
# hele achterliggende LAN het internet op te kunnen. Het 'firewall' gedeelte
# bestaat uit het afsluiten van een aantal poorten waarop relatief riskante
# servers draaien. Alleen de variabelen moeten aan de omgeving worden
# aangepast.


############################################################################
# variabelen

# waar iptables staat
IPTABLES="/sbin/iptables"

# interfaces

# interface waarmee gateway aan lokale netwerk zit
INTERNAL_INTERFACE="eth0"

# interface waarmee gateway aan het internet zit
EXTERNAL_INTERFACE="wlan0"

# ipadressen / netwerken
LAN="192.168.0.0/24"        # lokale netwerk


############################################################################
# clean-up + init

# flush en clear alle rules en zet de tellers op 0
${IPTABLES} -F
${IPTABLES} -X
${IPTABLES} -Z
${IPTABLES} -t nat -F
${IPTABLES} -t nat -X
${IPTABLES} -t nat -Z

# set de default policies
${IPTABLES} -P INPUT ACCEPT
${IPTABLES} -P FORWARD DROP
${IPTABLES} -P OUTPUT ACCEPT
${IPTABLES} -t nat -P PREROUTING ACCEPT
${IPTABLES} -t nat -P POSTROUTING ACCEPT
${IPTABLES} -t nat -P OUTPUT ACCEPT


############################################################################
# initialiseren van de kernel

## Enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward


############################################################################
# masquerade

## Alles met afkomst van of bestemming lokale netwerk heeft forwarden
${IPTABLES} -A POSTROUTING -t nat -o ${EXTERNAL_INTERFACE} -j MASQUERADE

${IPTABLES} -A FORWARD -i ${INTERNAL_INTERFACE} \
          -o ${EXTERNAL_INTERFACE} -s ${LAN} -d ! ${LAN} -j ACCEPT

${IPTABLES} -A FORWARD -o ${INTERNAL_INTERFACE} \
          -i ${EXTERNAL_INTERFACE} -d ${LAN} -s ! ${LAN} \
          -m state --state RELATED,ESTABLISHED -j ACCEPT


############################################################################
# riskante servers afsluiten

## telnet afsluiten voor de buitenwereld
${IPTABLES} -A INPUT -p tcp --destination-port 23 -i ${EXTERNAL_INTERFACE} \
            -j DROP


Kan iemand mij verder helpen?
ik heb al het een en het ander aan howto's gelezen, maar ik blijf er niks van snappen...

Bedankt _/-\o_

[ Voor 47% gewijzigd door Verwijderd op 28-01-2004 16:06 ]


  • pimlie
  • Registratie: November 2000
  • Laatst online: 22:35
Heb je dit al gedaan?

code:
1
echo 1 > /proc/sys/net/ipv4/ip_forward

Verwijderd

Topicstarter
ja, als ik dat bestand cat dan staat er een 1 in...

  • djfisjtik
  • Registratie: Januari 2002
  • Laatst online: 20-12-2022
probeer dit:
iptables -t nat -F

Zo worden al je rules weggegooid. En dan dit:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE

vervang eth1 met de interface van je wireless lan en 192.168.0.0/24 met het netwerk waar je voor wil masqueraden. Als het niet werkt check dan of de gateway op je laptop goed staat, kijk ook of je laptop je router kan bereiken met ping. Zo ja, kijk dan of de default route op je router wel goed staat

Verwijderd

Topicstarter
sorry, ik heb het geprobeerd, maar het werkt niet...
Het script wat ik erbij heb geedit (bovenaan) dat heeft 1 keer gewerkt...
daarna nooit meer, heb in de tussentijd niks aangepast...

De default GW staat goed ingesteld... (wordt doorgegeven tijdens dat m'n laptop dhcp krijgt van m'n server)

[ Voor 23% gewijzigd door Verwijderd op 28-01-2004 16:10 ]


  • pimlie
  • Registratie: November 2000
  • Laatst online: 22:35
Heb je al gekeken of het niet toevallig aan je dns ligt? Je kan dus een extern ip adres (www.tweakers.net -> 213.239.154.35) ook niet bereiken vanaf je laptop?

Als je dat wel kan, check dan /etc/resolv.conf of daar wel (juiste) dns servers instaan.

Verwijderd

Topicstarter
het pingen lukt wel zie ik net, dus dan ligt het aan m'n dns, moet ik dan op m'n server een dns server installeren ofzo?

  • Arnout
  • Registratie: December 2000
  • Laatst online: 17-02 21:41
Verwijderd schreef op 28 januari 2004 @ 16:21:
het pingen lukt wel zie ik net, dus dan ligt het aan m'n dns, moet ik dan op m'n server een dns server installeren ofzo?
Hangt van je DHCP server configuratie af. Het makkelijkst is om de DHCP server direct het DNS server adres van je provider te laten doorgeven. Een DNS server opzetten kan altijd nog. ;)

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 28 januari 2004 @ 16:21:
het pingen lukt wel zie ik net, dus dan ligt het aan m'n dns, moet ik dan op m'n server een dns server installeren ofzo?
kan, en als je daar geen "zin" in hebt kan je ook gewoon een dns server van je isp gebruiken bijvoorbeeld :)

  • PolarWolf
  • Registratie: November 2001
  • Laatst online: 11-01 19:37

PolarWolf

Debian, of course.

Begrijp ik goed uit jou verhaal en je script dat jij verbinding maakt met het internet via een draadloze verbinding?

Overigens kan ik aanraden om eerst dat script eens stevig simpeler te maken door all policies op ACCEPT the houden, en alleen eerst eens NAT goed werkend te krijgen. Dat maakt over het algemeen het debuggen een stuk eenvoudiger. Ook het toevoegen van wat -j LOG targets wil wel eens helpen.

Onderstaand is de meest simpele vorm om NAT aan de praat te krijgen.
code:
1
2
3
4
5
6
7
8
9
iptables -t nat -F
iptables -F

iptables -A POSTROUTING -s <local lan> -o <externe interface> -j MASQUERADE
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -m limit --limit 30/hour --limit-burst 3 -i <externe interface> -j LOG --log-prefix "DROPPED INPUT: "
iptables -A INPUT -i <externe interface> -j DROP


De laatste twee regels hebben niks met NAT te maken, maar dropt gewoon alles wat een connectie probeert te maken in de bittenbak, na even een berichtje achter te laten in syslog. Hetzelfde bereik je met een policy, maar ik prefereer deze methode.

Undernet #linux, Undernet #ipsec


Verwijderd

Topicstarter
PolarWolf schreef op 28 januari 2004 @ 16:26:
Begrijp ik goed uit jou verhaal en je script dat jij verbinding maakt met het internet via een draadloze verbinding?
M'n server heeft een wlan verbinding naar m'n modem
vanuit m'n modem gaat het dan allemaal verder...

Verwijderd

Topicstarter
nadat ik het dns adres heb aangepast in m'n dhcp configuratie werkt het hele zooitje, alleen nu hoop ik dat ie het onthoud... anders moet ik het telkens opnieuw instellen...
Pagina: 1