# Ports für apt-get



## dark_flash01 (29. Oktober 2007)

Hallo,
seitdem ich auf meinem rootserver eine Firewall laufen habe, funktioniert apt-get nicht mehr.
wget auch nicht. Jedesmal kann er den DNS-Namen nicht in eine IP auflösen. Welche Ports muss ich dafür öffnen? Vor der Firewall gings doch auch  Bitte helft mir.

Lg flash

--


----------



## Dennis Wronka (29. Oktober 2007)

apt-get arbeitet mit FTP oder HTTP, je nachdem was fuer Mirrors in der Source-Datei angegeben sind.
Genauso sieht es mit wget aus, FTP oder HTTP, je nachdem was man so anspricht.
DNS laeuft ueber Port 53 des TCP-Protokolls.


----------



## dark_flash01 (31. Oktober 2007)

Mmmh... ich hab jetzt das alles und noch weitere Ports offen und ich bekomme bei
"apt-get update" immernoch Fehler, wie diese hier:

```
Err http://ftp.de.debian.org etch/main Sources
  Could not resolve 'ftp.de.debian.org'
Failed to fetch http://ftp.de.debian.org/debian/dists/etch/Release.gpg  Could not resolve 'ftp.de.debian.org'
```

Das iptables-shell-skript sieht folgendermaßen aus:

```
#!/bin/bash
# Meine kleine Firewall
echo "Firewall starten... "

# Variablen deklarieren
IPTABLES=/sbin/iptables
MY_LAN_IP=192.168.1.200
LAN_INTERFACE=eth0
LAN_IP_RANGE=192.168.1.0/24
LAN_BROADCAST=192.168.1.255
WWW_INTERFACE=eth0
SSH_PORT=21300

# Alle Regeln löschen
echo "  Alte Regeln löschen..."
$IPTABLES -F
echo "  [fertig]"

# Alles verbieten, was nicht erlaubt wird
echo "  Alles verbieten..."
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
echo "  [fertig]"

# Loopback Interface freigeben
echo "  Loopback Interface freigeben..."
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
echo "  [fertig]"

# SSH erlauben
echo "  SSH erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport $SSH_PORT -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport $SSH_PORT -j ACCEPT
echo "  auf Port $SSH_PORT"
echo "  [fertig]"

# Lighttpd
echo "  Lighttpd-Port 80 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 80 -j ACCEPT
echo "  [fertig]"

echo "  Port 22 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 22 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 22 -j ACCEPT
echo "  [fertig]"

echo "  POP3-Port 110 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 110 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 110 -j ACCEPT
echo "  [fertig]"


echo "  IMAP-Port 143 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 143 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 143 -j ACCEPT
echo "  [fertig]"

echo "  https-Port 443 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 443 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 443 -j ACCEPT
echo "  [fertig]"

echo "  SMTPs-Port 465 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 465 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 465 -j ACCEPT
echo "  [fertig]"

echo "  IMAPs-Port 443 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 993 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 993 -j ACCEPT
echo "  [fertig]"

echo "  POP3s-Port 443 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 995 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 995 -j ACCEPT
echo "  [fertig]"

echo "  udp-Port 53 erlauben..."
$IPTABLES -A INPUT -p udp -i $LAN_INTERFACE --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -o $LAN_INTERFACE --sport 53 -j ACCEPT
echo "  [fertig]"

echo "  DNS-Port 53 erlauben..."
$IPTABLES -A INPUT -p tcp -i $LAN_INTERFACE --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $LAN_INTERFACE --sport 53 -j ACCEPT
echo "  [fertig]"

echo "  udp-Port 123 erlauben..."
$IPTABLES -A INPUT -p udp -i $LAN_INTERFACE --dport 123 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -o $LAN_INTERFACE --sport 123 -j ACCEPT
echo "  [fertig]"

echo "  ICMP erlauben..."
$IPTABLES -A INPUT -p icmp -i $LAN_INTERFACE -j ACCEPT
$IPTABLES -A OUTPUT -p icmp -o $LAN_INTERFACE -j ACCEPT
echo "  [fertig]"

echo "[fertig]"
exit 0

#end of file
```

Mach ich irgendwas richtig derbe falsch? Ich versteh es nicht  Nachdem ich heute kurz alle Regeln auf ACCEPT hatte, gings ohne Probleme.


----------



## olqs (31. Oktober 2007)

dark_flash01 hat gesagt.:


> Das iptables-shell-skript sieht folgendermaßen aus:
> 
> ```
> echo "  udp-Port 53 erlauben..."
> ...



DNS Lookups sollten nur über udp laufen, also braucht man die tcp Regel nicht unbedingt.
Desweiteren in den Regeln --dport und --sport vertauschen. Beim DNS Lookup frägt man bei nem anderen Server den Dienst auf Port 53 an. Also ausgehend Destination-Port 53 und eingehend Source-Port.

Mit dieser Regel erlaubst du alle Pakete die auf Port 53 deines PCs verbinden möchten.


----------

