Toon posts:

iptables firewall/router

Pagina: 1
Acties:

Verwijderd

Topicstarter
Er staat hier een linuxbak die verbonden is met het internet op eth0 (ip: 10.0.0.200).
Deze fungeert tevens als router voor de rest van de pc's op het netwerk.
Interne netwerk op eth1 (ip: 192.168.1.x).
ip adsl modem: 10.0.0.138.

Ik maak gebruik van adsl - basic (mxstream/planetinternet).

Probleem: ik kan met het volgende script op de linuxbak en alle pc's op het netwerk i-netten, maar ik wil iptables ook gebruiken als firewall om de linuxbak zelf en de pc's op het netwerk veilig te stellen door alleen http-, dns- (, ftp- en ssh-) verkeer door te laten.

#--------------------------------------------------------------

insmod ip_tables

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

iptables -X
iptables -F

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -A INPUT -i eth1 -s 192.168.1.9/24 -j ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.1.9/24 -j MASQUERADE

#--------------------------------------------------------------

Het volgende script moest ervoor zorgen dat ik dit kon realiseren maar helaas werkte het niet.
Oftewel ik kon niet meer internetten of pingen naar site's.

#--------------------------------------------------------------

insmod ip_tables

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

iptables -X
iptables -F

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -o lo -d 127.0.0.1 -j ACCEPT

iptables -A INPUT -i eth1 -s 192.168.1.9/24 -j ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.1.9/24 -j MASQUERADE

iptables -A INPUT -i eth0 -p tcp -s 0/0 --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s 0/0 --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp -s 0/0 --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s 0/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp -s 0/0 --dport 113 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s 0/0 --dport 113 -j ACCEPT

iptables -A INPUT -i eth0 -p icmp -s 0/0 -j ACCEPT

#--------------------------------------------------------------

Ik heb verschillende howto's gelezen en van daaruit dit script samengesteld. Met behulp van de search en de howto's ben ik er alleen niet achter gekomen wat hier niet klopt.

Kan iemand mij hierbij helpen? :'(

Verwijderd

--sport 80

in plaats van

--dport 80

wil denk ik wel helpen :)
(omdat je namelijk pakketjes krijg van poort 80 en niet naar je eigen poort 80)

Verwijderd

dport staat goed aangezien hij op die manier zo zijn webserver en identserver beschikbaar maakt hoor

Verwijderd

Dat kan (hoewel ik niet opmaak dat hij servers draait), maar dan kun je dus nog niet surfen. Daarvoor zul je toch echt verkeer op eth0 _van_ poort 80 (webservers) moeten toelaten. Bij voorkeur alleen op poorten boven de 1024 en alleen als er geen SYN bit in het pakketje zit.

Dus

iptables -A INPUT -i eth0 -p tcp -s 0/0 --sport 80 --dport 1024:65000 ! -y -j ACCEPT

of zoiets (ik weet niet of die ! -y werkt met tables ik werk nog met chains :P )

Of iptables moet heel anders werken dan ipchains, dan zit ik d'r naast maar er zal toch iets binnen moeten worden gelaten op eth0 dat _van_ een webserver komt of het downloaden wordt moeilijk :?

:? :)

  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

edit:
sorry.. klopte maar half. INPUT heeft niets te maken met FORWARD tegenwoordig


-y is vervangen door --SYN (waarbij SYN weer een shortcut is voor --tcpflags SYN,ACK,RST SYN, waarbij SYN geset moet zijn en RST en ACK niet)


Voor het grootste deel zat deze rule-setting wel werken, maar je zult waarschijnlijk ook connection tracking willen hebben zodat je fatsoenlijk kunt FTP'eren, gamen en meer enge protocollen kunt doorlaten zonder al te veel moeite..

Yo dawg, I heard you like posts so I posted below your post so you can post again.


  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

Op maandag 19 november 2001 21:26 schreef Zemanova het volgende:
iptables -A INPUT -i eth0 -p tcp -s 0/0 --sport 80 --dport 1024:65000 ! -y -j ACCEPT

Of iptables moet heel anders werken dan ipchains, dan zit ik d'r naast maar er zal toch iets binnen moeten worden gelaten op eth0 dat _van_ een webserver komt of het downloaden wordt moeilijk :?
Ik zou de source-poort niet opgeven, tenzij je expliciet alleen wilt kunnen HTTP'eren naar buiten toe..

Yo dawg, I heard you like posts so I posted below your post so you can post again.


Verwijderd

Topicstarter
De bedoeling is om vanaf alle pc's in het netwerk alleen te kunnen surfen, ftp'en. Meer niet.

Dit geld ook voor de linuxbak. Daar komt alleen nog een web- en ftp- servertje op te draaien. Die regels komen er later nog bij :7

Alleen met de regels tot nu toe gaat het surfen zelf op zowel de linuxbak als op de pc's op het netwerk niet eens,
dat geld ook nadat ik ze heb aangepast. Ik wil alleen wel achter die firewall blijven zitten

Verwijderd

Deze regel:
iptables -A POSTROUTING -t nat -s 192.168.1.9/24 -j MASQUERADE
zou ik vervangen door:
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
Volgens mij had je het op de ipchains manier gedaan.
Dit stond toch duidelijk in de iptables-nat howto:
http://netfilter.samba.org/unreliable-guides/NAT-HOWTO/NAT-HOWTO.linuxdoc-6.html
Als je een vast ipadres hebt kun je beter de SNAT manier gebruiken, ipv de masquerade manier.

Wat ik verder handig vind is om ook de FORWARD policy op drop te zetten:
iptables -P FORWARD DROP
en dan de forward chain statefull maken:
insmod ip_conntrack
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -i ! eth0 -j ACCEPT
iptables -A FORWARD -j DROP
Dit is van:
http://netfilter.samba.org/unreliable-guides/packet-filtering-HOWTO/packet-filtering-HOWTO.linuxdoc-5.html
Dit zorgt ervoor dat bepaalde connecties toegestaan worden (NEW van locale net) en verwante pakketjes (related en established van internet) toegestaan worden.
In principe zou het zonder statefull ook moeten werke, maar als je alles doorlaat is het weinig firewall meer.

Wat ik wat raar vind is het ipadres van de adsl router. 10.0.0.x is toch een lokaal ipadres? Doet deze router dan ook nog eens nat?
Pagina: 1