Avatar billede oz2kas Nybegynder
04. juli 2002 - 03:20 Der er 15 kommentarer og
1 løsning

Iptables/Firewall script.

Jeg skal have min server til at forwarde følgende porte fra eth1(10.0.0.0) til eth0(192.168.1.0).
Der skal laves et script som kan, enable gateway (MASQUERADING), forwarde følgende porte:
5800.
5900.
5901.
5902.
2121.

Der skal også laves et andet script der kan lukke for p2p.

/Kasper
Avatar billede oz2kas Nybegynder
04. juli 2002 - 03:26 #1
Jeg ved godt at p2p-klienter bruger mange forskellige porte.
Men det skal bare være de mest gængse, Kazaa, Morpheus, E-donkey og lign.
Avatar billede Soren L. Hansen Nybegynder
11. juli 2002 - 16:51 #2
Kerneversion?
Avatar billede oz2kas Nybegynder
11. juli 2002 - 18:10 #3
2.4.18
Avatar billede oz2kas Nybegynder
12. juli 2002 - 16:59 #4
linuxkonsulent >> noget du kunne have mod på?
Avatar billede oz2kas Nybegynder
12. juli 2002 - 17:06 #5
forwardingen har jeg fået hen nu.
men script er jeg stadig intereserret i.
Avatar billede Soren L. Hansen Nybegynder
13. juli 2002 - 16:40 #6
Hmm.. Spøjst, jeg har ikke fået mail om, at der var nyt i dette spørgsmål.

Ja, selvfølgelig har jeg mod på det. Hvad har du indtil nu og hvad vil du helt nøjagtigt ha' det til?
Avatar billede oz2kas Nybegynder
13. juli 2002 - 16:46 #7
Jeg har nu fået min forwarding til at virke.
Jeg har læst manpagen for iptables, men har ikke helt forstået den.
det jeg skal have lavet er et script der forwarder ovenstående porte, altså
5800.
5900.
5901.
5902.
2121.
Avatar billede oz2kas Nybegynder
13. juli 2002 - 16:56 #8
ARGH..
den sendte noget den ikke skulle....
prøver lige igen.

ovenstående porte skal forwardes til 192.168.1.15.
det er ikke det store problem, det har jeg fået den til, men alligevel kunne det være dejlig at have det i scriptet.

Når maskinen starter skal den køre et script der kun tillader de porte som jeg selv definerer, gerne så man kan bruge nettet til normalt brug, dvs. surf, ftp, irc, icq, mail osv.
jeg mener at have læst mig til at iptables er bygget op at rulesets.
de kommer så i en bestemt rækkefølge, og hver rule (kæde?) definerer hvad der skal gøres med pakken.
dvs. at definerer man at alt på port 81 skal have DENY, og en anden regel om at alt der kommer på port 81, men fra en bestemt ip skal komme igennem.. er det ikke sådan det virker?

her havde jeg så forestillet mig at man skulle lave en regel der sagde at al trafik er blocet, og man herefter åbner for normal surf (http, irc, ftp, icq osv.) jeg ved ikke om det er sådan det virker, men jeg har haft uheldige episoder med maskiner med spyware som prøver at lave connections udaftil på mæekelige porte, og noget af dette vil jeg gerne undgå.

dvs. et script der allower normal brug af internet men gerne skulle blocke for peer-2-peer programmer.
er det noget der kan lade sig gøre?
Avatar billede Soren L. Hansen Nybegynder
14. juli 2002 - 11:41 #9
#!/bin/bash

IPTABLES=/sbin/iptables
SYSCTL=/sbin/sysctl

LANIF=eth0
WANIF=eth1
OWNIP=indsæt din egen offentlige ip her.
DESTIP=192.168.1.15
FORWARDPORTS="5800 5900 5901 5902 2121"
for port in $FORWARDPORTS
do
    $IPTABLES -t nat -A PREROUTING -p tcp -d $OWNIP --dport $port -j DNAT --to $DESTIP
done

$IPTABLES -t filter -P OUTPUT DROP  # Hvis en pakke ikke er omfattet af en af nedenstående regler, så skal den droppes.
TCPPORTS="20 21 22 25 80 447"      # ftp-data ftp ssh smtp http https
for port in $TCPPORTS
do
    $IPTABLES -t filter -A OUTPUT -j ACCEPT -p tcp --dport $port -o $WANIF
done

$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t filter -A FORWARD -j ACCEPT -i $LANIF

$SYSCTL -w net.ipv4.ip_forward = 1
Avatar billede Soren L. Hansen Nybegynder
14. juli 2002 - 11:43 #10
Den måde, man typisk gør det på, er at man har en default policy, der som regel er sat til DROP. Derefter giver man så adgang til de, der har brug for det. Hvis du så vil give adgang til alle undtagen en bestemt IP, så skriver du bare "!10.10.10.10." eller hvad IP'en nu er.. ! = ikke.
Avatar billede oz2kas Nybegynder
15. juli 2002 - 03:40 #11
så er jeg tilbage... skulle lige hjælpe en kammerat med noget samba sjov.
nu er jeg ikke inde i scripting, men kan man sætte flere destip's og så forwarde til flere maskiner på en gang? jeg gætter på at det skal være noget i retnigen af:
DESTIP1=xxx.xxx.xxx.xxx
FORWARDPORTS1="xxxx xxxx xxxx xxxx"
og så:
for port in $FORWARDPORTS1
do
  $IPTABLES -t osv?
Avatar billede oz2kas Nybegynder
15. juli 2002 - 03:50 #12
nu sidder jeg helt og bliver i tvivl...
mit net er opbygget på følgende måde:
router på 10.0.0.1 .
server på 10.0.0.45 externt, og 192.168.1.1 internt.
hvilke iper skal hvorhen?
Avatar billede Soren L. Hansen Nybegynder
15. juli 2002 - 08:53 #13
Det interface, der har 10.0.0.45 er det, jeg kalder WANIF og det ander er LANIF.

Mht forwarding. HVis du har ting, der skal forwardes til andre IP'er så kan du bare kopiere hele stykker: Nu står der:
DESTIP=192.168.1.15
FORWARDPORTS="5800 5900 5901 5902 2121"
for port in $FORWARDPORTS
do
    $IPTABLES -t nat -A PREROUTING -p tcp -d $OWNIP --dport $port -j DNAT --to $DESTIP
done

Derunder indsætter du bare noget i stil med:
DESTIP=192.168.1.16
FORWARDPORTS="80 443"
for port in $FORWARDPORTS
do
    $IPTABLES -t nat -A PREROUTING -p tcp -d $OWNIP --dport $port -j DNAT --to $DESTIP
done
Avatar billede oz2kas Nybegynder
16. juli 2002 - 00:32 #14
dvs. jeg kan have lige så mange jeg har lyst til?
jeg sætter bare en ny variabel hver gang?
Avatar billede Soren L. Hansen Nybegynder
16. juli 2002 - 09:30 #15
Næh, du kan sådan set bruge den samme hver gang. Hver gang, der står:
FORWARDPORTS="blah blah"

Så bliver den gamle FORWARDPORTS overskrevet, så bare brug den samme.
Avatar billede oz2kas Nybegynder
17. juli 2002 - 14:44 #16
ok. det var sådan set også det jeg mente, men det kom vist lidt tåget til udtryk :)
Tak for hjælpen!
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