Avatar billede nogetfx Nybegynder
24. februar 2005 - 09:38 Der er 11 kommentarer og
1 løsning

Iptables & Moduler

Jeg har en router/firewall (men 3 netkort. 10.0.0.2, 192.168.10.1, 192.168.20.1), der kører Woody. Jeg mener at jeg har alle iptables-moduler builtin i min kernel. Er der ikke et sted hvor man kan se det..?
Men der melder fejl, dels på moduler, men også på at 192.168.20.0 nettet ikke findes... Skønt der sagtens kan pinges til de maskiner der står på netværket.

/cache/fire.sh: DMZ_PUB: command not found
/cache/fire.sh: DMZ_LAN: command not found
modprobe: Can't locate module ip_nat_ftp
modprobe: Can't locate module ip_conntrack_ftp
iptables v1.2.6a: host/network `eth2' not found
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.6a: host/network `eth2' not found
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `multiport'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.6a: host/network `!192.168.20.0' not found
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.6a: host/network `!192.168.20.0' not found
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.6a: host/network `!192.168.20.0' not found
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.2.6a: host/network `!192.168.20.0' not found
Try `iptables -h' or 'iptables --help' for more information.

SCIPTET (det er ikke færdig, plus det virker som om det linier der bruger FORWARD ikke kører som smurt.)

#!/bin/sh


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


# Netværk
        WAN='10.0.0.2'
        WAN_NIC='eth1'
        LAN_NET='192.168.10.0/24'
        LAN_NIC='eth2'
        DMZ_NET='192.168.20.0/24'
        DMZ_NIC='eth0'

# Servere
        # Pub (20,21,25,110,143,80,8080)
        DMZ_PUB = '192.168.20.2'
        # LAN (137,138,139)
        DMZ_LAN = '192.168.20.3'


# Modules
        /sbin/modprobe ip_nat_ftp
        /sbin/modprobe ip_conntrack_ftp

# Flush
        iptables -t nat -F POSTROUTING
        iptables -t nat -F PREROUTING
        iptables -t nat -F OUTPUT
        iptables -F
        iptables -P INPUT DROP
        iptables -P FORWARD DROP
        iptables -P OUTPUT ACCEPT

# route
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -p tcp --dport 22 -j ACCEPT
        iptables -A INPUT -p udp --dport 53 -s $LAN_NIC -j ACCEPT
        iptables -A INPUT -p tcp --dport 3128 -s $LAN_NIC -j ACCEPT

# enable Masquerade and forwarding
        iptables -t nat -A POSTROUTING -s $LAN_NET -j MASQUERADE
        iptables -t nat -A POSTROUTING -s $DMZ_NET -j MASQUERADE
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# LAN (Utysket)
        iptables -t nat -A PREROUTING -i $LAN_NIC -p tcp --dport 80 -j REDIRECT --to-port 3128
        iptables -A FORWARD -p tcp -s $LAN__NET -m multiport --dport 20,21 -j ACCEPT
        iptables -A FORWARD -p tcp -s $LAN_NET -d !$DMZ_NET --dport 25 -j ACCEPT
        iptables -A FORWARD -p udp -s $LAN_NET -d !$DMZ_NET --dport 53 -j ACCEPT
        iptables -A FORWARD -p tcp -s $LAN_NET -d !$DMZ_NET --dport 110 -j ACCEPT
        iptables -A FORWARD -p tcp -s $LAN_NET -d !$DMZ_NET --dport 143 -j ACCEPT
        iptables -A FORWARD -p icmp -s $LAN_NET -j ACCEPT

# DMZ Forwards
        iptables -A FORWARD -p tcp -d 192.168.20.2 --dport 20 -j ACCEPT
        iptables -t nat -I PREROUTING -p tcp -d $WAN --dport 20 -j DNAT --to-destination 192.168.20.2:20
        iptables -A FORWARD -p tcp -d 192.168.20.2 --dport 21 -j ACCEPT
        iptables -t nat -I PREROUTING -p tcp -d $WAN --dport 21 -j DNAT --to-destination 192.168.20.2:21
        iptables -A FORWARD -p tcp -d 192.168.20.2 --dport 25 -j ACCEPT
        iptables -t nat -I PREROUTING -p tcp -d $WAN --dport 25 -j DNAT --to-destination 192.168.20.2:25
        iptables -A FORWARD -p tcp -d 192.168.20.2 --dport 80 -j ACCEPT
        iptables -t nat -I PREROUTING -p tcp -d $WAN --dport 80 -j DNAT --to-destination 192.168.20.2:80
        iptables -A FORWARD -p tcp -d 192.168.20.2 --dport 8080 -j ACCEPT
        iptables -t nat -I PREROUTING -p tcp -d $WAN --dport 8080 -j DNAT --to-destination 192.168.20.2:$
        iptables -A FORWARD -p tcp -d 192.168.20.2 --dport 110 -j ACCEPT
        iptables -t nat -I PREROUTING -p tcp -d $WAN --dport 110 -j DNAT --to-destination 192.168.20.2:1$
        iptables -A FORWARD -p tcp -d 192.168.20.2 --dport 143 -j ACCEPT
        iptables -t nat -I PREROUTING -p tcp -d $WAN --dport 143 -j DNAT --to-destination 192.168.20.2:1$
        iptables -A FORWARD -p tcp -d 192.168.20.2 --dport 2022 -j ACCEPT
        iptables -t nat -I PREROUTING -p tcp -d $WAN --dport 2022 -j DNAT --to-destination 192.168.20.2:$

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


Jeg har også brug for at kunne kontakt 2 maskiner med SSH. Derfor var det min plan at udefra bruge port 2022 til nr. 2 maskine, og så fra routeren forward den forbindelse på port 22, vil det virke..?

/Lars
Avatar billede gozar Nybegynder
24. februar 2005 - 17:48 #1
>>cache/fire.sh: DMZ_PUB: command not found
>>/cache/fire.sh: DMZ_LAN: command not found

Ret dit script til så, der ikke er mellemrum imellem = tegnene

>>modprobe: Can't locate module ip_nat_ftp
>>modprobe: Can't locate module ip_conntrack_ftp

Nu siger du selv alle iptables moduler er bygget ind i kernelen, og ikke som moduler. Så kan modprobe jo ikke loade, et modul der ikke er der.

>>iptables v1.2.6a: host/network `eth2' not found
>>Try `iptables -h' or 'iptables --help' for more information.
>>iptables v1.2.6a: host/network `eth2' not found
>>Try `iptables -h' or 'iptables --help' for more information.

[1]
source net (-s) skal angives ipadresser (192.168.10.1) eller som net (192.168.10.0/24) Hvis du vil bruge interfacet så brug -i istedet for -s

>>Bad argument `multiport'

Angiv en prot rang ved at benytte --dport 20:21 --dport 20,21 virker ikke!

>>Try `iptables -h' or 'iptables --help' for more information.
>>iptables v1.2.6a: host/network `!192.168.20.0' not found
>>Try `iptables -h' or 'iptables --help' for more information.
>>iptables v1.2.6a: host/network `!192.168.20.0' not found
>>Try `iptables -h' or 'iptables --help' for more information.
>>iptables v1.2.6a: host/network `!192.168.20.0' not found
>>Try `iptables -h' or 'iptables --help' for more information.
>>iptables v1.2.6a: host/network `!192.168.20.0' not found
>>Try `iptables -h' or 'iptables --help' for more information.

se [1]
Avatar billede nogetfx Nybegynder
25. februar 2005 - 09:23 #2
Okay... Men findes der ikke et sted i debian, hvor man kan se hvilke moduler der loades eller er builtin.?

Og burde denne linie ikke give dmz-zonen love til at komme igennem med apt-get/port 80:

# DMZ
        iptables -A FORWARD -p tcp -s $DMZ_NET --dport 80 -j ACCEPT
Avatar billede langbein Nybegynder
25. februar 2005 - 15:02 #3
Jo, den skulle vel være korrekt nok, tror jeg, men hva med disse:

iptables -t nat -A POSTROUTING -s $LAN_NET -j MASQUERADE
iptables -t nat -A POSTROUTING -s $DMZ_NET -j MASQUERADE

Virker NAT forbindelsen i det hele tatt ?
Avatar billede nogetfx Nybegynder
25. februar 2005 - 20:37 #4
Det er kun INPUT der virker. De to linier har jeg læst i et andet script. Jeg er tåger stadig rundt på visse punkter..

Dem hvor jeg er sikre på funker:
      iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -p tcp --dport 22 -j ACCEPT
        iptables -A INPUT -p udp --dport 53 -s $LAN_NIC -j ACCEPT
        iptables -A INPUT -p tcp --dport 3128 -s $LAN_NIC -j ACCEPT

Men jeg har heller ikke fået min proxy osv til at funke. Og min server (192.168.20.2) kan ikke få hul med apt-get...
Avatar billede langbein Nybegynder
25. februar 2005 - 22:34 #5
Mon det ikke skal være slik .. (skigt ut til riktig kort.)

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ellers så kan du jo hente ut en del syntakselementer og redigere om:

http://www.im-learning.com/iptables/
Avatar billede nogetfx Nybegynder
25. februar 2005 - 23:58 #6
Spøjst, nu har hele det private LAN forbindelse (proxy og mail kan komme igennem, og man kan ike komme uden om proxy.) jeg kigger på DMZ-zonen senere på weekenden...

Jeg kender godt din generator, og har også småluret på koden. Men hovedgrunden til jeg kører dette net er for at lære.. Og i min hoved, kræver det at jeg går op af stejl bakke.. hehe

Er der ingen der kan svare på dette:
Jeg mener at jeg har alle iptables-moduler builtin i min kernel. Er der ikke et sted hvor man kan se det..?


Ellers bare kom med svar begge to...

/Lars
Avatar billede nogetfx Nybegynder
26. februar 2005 - 16:14 #7
Jeg kom til at tænkte på at grunden til DMZ-zonen ikke kan komme ud via apt-get, kan have noget at gøre med at der er rpoxy på min firewall, men på den anden side er kun LAN_NIC der bliver redirectet til den:
iptables -t nat -A PREROUTING -i $LAN_NIC -p tcp --dport 80 -j REDIRECT --to-port 3128

Jeg fatter det bare ikke helt da de 2 net har samme iptables til port 80, og køre apt ikke på port 80 hvisd den er sat op til HTTP..?

/Lars
Avatar billede nogetfx Nybegynder
04. marts 2005 - 10:53 #8
Øhh kom et svar folken...
Avatar billede langbein Nybegynder
11. marts 2005 - 17:38 #9
Jo, hvis du kjører med transparant proxy så kan vel det ha noe med saken å gjøre, men har litt svært for å se for meg hvordan det hele er satt opp, sånn totalt sett.
(Problemer med å forstå helheten i konfigureringen.)

Når det gjelder hvilke moduler som er lastet, så kan dette leses med kommando "modprobe -l". Tror imidlertid man bare ser de modulene som er dynamisk lastet slik at de som er "kompilert inn i kjernen på permanent basis" ikke blir synlige. (Er litt usikker på det og vil forsøke å sjekke litt.)
Avatar billede nogetfx Nybegynder
12. marts 2005 - 11:14 #10
Jeg lukker mit spm, jeg har alligevell noget andet der skal fikses først. Dog smid endeligt et svar som tak for hjælpen...

langbein>> ang www.im-learning.com/iptables/ hvordan har du kodet/ er der nogen reklamer på..? Af en eller anden underlig grund bliver den siden blokeret af Squid, skønt jeg kun bloker reklamer:
.bold.dk/forside/adfair-popup.asp
http://www.adfair.dk/banner/
http://adserver.adtech.de/
http://adfarm.mediaplex.com/ad/
http://banner.webdmz.tv2.dk/
http://bold.dk/adfair/468x60bg.html
http://adtech.m7z.net/imageserv.adtech.de/

Har du noget der bliver loader eller lign...?
Avatar billede langbein Nybegynder
20. marts 2005 - 02:09 #11
Nei, det skulle ikke være noen reklamer. Kun html kode som blir generert av php. Kopierte det meste fra iptables-script.dk og endret egentlig stort sett bare selve script genereringen.
Avatar billede nogetfx Nybegynder
20. marts 2005 - 15:44 #12
Ok..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester