• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af hoppendekanin | 02.04.2009 19:58

Iptables problem (bad argument 'ACCEPT')

Software
Jeg er løbt ind i et problem, når jeg skal konfigere iptables på min Debian etch server.
Lige nu kører jeg med dette script, der tager udgangspunkt fra debianguiden.dk
http://debianguiden.dk/wiki/Firewall_og_deling_af_internetforbindelse:


#Opretter en variabel med vores IPadresse og 1 med Interfacet og 1 med vores loopback-interface
LAN_IP="10.0.0.89"
LAN_NIC="eth0"
Lo_NIC="lo"

# Disable routing inden regler påføres
echo 0 > /proc/sys/net/ipv4/ip_forward

# Regler flushes og policies sættes
/sbin/iptables -t nat -F
/sbin/iptables -F
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT

# Logging af nye pakker skal startes
/sbin/iptables -A INPUT -m state --state NEW -j LOG --log-prefix IPTABLES-LOG --log-level 4


#Open Ports: 21 (ftp), 22 (ssh), 80 (http), 139 (samba), 445 (samba), 3306 (mySQL), paasive ftp (49000 - 49100)
/sbin/iptables -A FORWARD -p tcp --dport 0:19 -j DROP
/sbin/iptables -A FORWARD -p tcp --dport 23:79 -j DROP
/sbin/iptables -A FORWARD -p tcp --dport 81:138 -j DROP
/sbin/iptables -A FORWARD -p tcp --dport 140:444 -j DROP
/sbin/iptables -A FORWARD -p tcp --dport 446:3305 -j DROP
/sbin/iptables -A FORWARD -p tcp --dport 3307:48999 -j DROP
/sbin/iptables -A FORWARD -p tcp --dport 49101:65535 -j DROP

/sbin/iptables -A INPUT -p tcp --dport 0:20 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 23:79 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 81:138 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 140:444 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 446:3305 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3307:48999 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 49101:65535 -j DROP


# Tillad derefter trafik vi selv har sat igang at komme igennem
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Forwarding startes.
echo 1 > /proc/sys/net/ipv4/ip_forward


Det virker fint nok, men jeg er lidt irriteret over, at alle pakker først bliver accepteret, for derfor at blive droppet igen, hvis de ikke går igennem de andre porte. Jeg vil nemlig gerne have, at alle pakker først bliver droppet for måske så senere at blive accepteret igen
Så derfor prøvede jeg at køre dette script, jeg fandt på guide.archlinux.dk (Ændret lidt):


#Opretter en variabel med vores IPadresse og 1 med Interfacet og 1 med vores loopback-interface
LAN_IP="10.0.0.89"
LAN_NIC="eth0"
Lo_NIC="lo"

# Vi skal have loaded enkelte moduler da vi ønsker at bruge FTP
#modprobe ip_nat_ftp
#modprobe ip_conntrack_ftp

# Flusher og nulstiller vores kæder
/sbin/iptables # Flusher alle kæder (Når der ikke er betegnelse på)
/sbin/iptables -X # Nulstiller alle kæder (-----------| |--------------)

# Sætter vores default Policies
/sbin/iptables -P INPUT DROP # Benægter alt input
/sbin/iptables -P FORWARD DROP # Benægter al forwardning
/sbin/iptables -P OUTPUT ACCEPT # Accepterer alt trafik UD

# Opretter de kæder vi skal bruge
/sbin/iptables -N intern
/sbin/iptables -N extern

# Accepterer al trafik fra vores loopback interface
/sbin/iptables -A lo -i $LO -j ACCEPT


# Nu er vi klar til at åbne de enkelte porte vi ønsker - da det er på lokalmaskinen vi vil acceptere bruger vi EXTERN kæden til dette
/sbin/iptables -A extern -p tcp --dport 21 -i $LAN_NIC -j ACCEPT # Accepterer trafik ind til FTP
/sbin/iptables -A extern -p tcp --dport 22 -i $LAN_NIC -j ACCEPT # Accepterer trafik ind til SSH
/sbin/iptables -A extern -p tcp --dport 80 -i $LAN_NIC -j ACCEPT # Accepterer trafik ind til HTTP
/sbin/iptables -A extern -p tcp --dport 110 -i $LAN_NIC -j ACCEPT # Accepterer trafik ind til POP3

# Sætter State relateret politik op for INPUT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Tilsidst tilføjer vi vores kæder til INPUT
/sbin/iptables -A INPUT -j intern
/sbin/iptables -A INPUT -j extern


Det, som mit problem er, at når jeg prøver at eksekvere scriptet, så får jeg en "Bad argument 'ACCEPT'" fejl. Hvad er det, som jeg har lavet galt i script nr. 2, som gør, at jeg får fejlen?
Nu er jeg ret ny i Iptables, men jeg går da stærk ud fra at syntaksterne, der bruges i Iptables må være de samme uanset om jeg bruger Arch Linux eller Debian



  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer4

# 1

16 år 3 måneder siden

Permalink

Indsendt af peque den 3. april 2009 kl. 11:21

Permalink

Re: Iptables problem (bad argument 'ACCEPT')

Så vidt jeg lige kan overskue dette - så prøver du at oprette åbne porte til et lokalt netkort ??????
Skulle du ikke lighe starte med AT ÅBNE ind til en bestemt maskine - til den konkrete port!
Det vil sige - At istedet for $LAN_NIC - skal dui bruge den IP istedet for.
Men jeg er så kun vant til at bruge IPtables som min primære firewall, og dermed åbne porte ind til maskiner!
  • Log ind eller opret dig for at tilføje kommentarer

# 2

16 år 3 måneder siden

Permalink

Indsendt af johnnyec den 3. april 2009 kl. 12:48

Permalink

Re: Iptables problem (bad argument 'ACCEPT')

umiddelbart ser det ud til fejlen ligger i denne linie

# Accepterer al trafik fra vores loopback interface
/sbin/iptables -A lo -i $LO -j ACCEPT

du har så vidt jeg kan se ikke nogen chain der hedder lo, men jeg vil forslå at du sætter nogle echo statements ind i scriptet så du kan se hvilken linie der fejler
  • Log ind eller opret dig for at tilføje kommentarer

# 3

16 år 3 måneder siden

Permalink

Indsendt af hoppendekanin den 3. april 2009 kl. 16:46

Permalink

Re: Iptables problem (bad argument 'ACCEPT')

#1 og 2...
tak for svarene, det ville jeg kigge på...
Nu er det sådan, er min Debian server er en ganske normal filserver på netværket, så den fungere ikke som dhcp / dns-server på netværket, hvis det kan bruges til noget
  • Log ind eller opret dig for at tilføje kommentarer

# 4

16 år 3 måneder siden

Permalink

Indsendt af hoppendekanin den 3. april 2009 kl. 17:00

Permalink

Problem løst

Jeg brugte denne skabelon til at lave kæderne med:
/sbin/iptables -A INPUT -p tcp --dport 21 -m state --state NEW -s 0.0.0.0/0 -j ACCEPT

Det virker, som det skal...
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

PCLinuxOS 29
den er sjov 1
Reserve kernel og btrfs 3
En snak om Linux-kompatibel software 12
"Intet realistisk alternativ" - mig i r*ven 17
Open source events i danmark? 3
Virtuel maskine? 4
Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
Nulstilling af adgangskode 6
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !