Hallo Leute,
kann mir von euch mal bitte einer sagen warum ich mit diesem iptables Script nicht ins Internet komme. Ich habe einen Einzelplatzrechner mit einer ISDN Karte und einer Netzwerkkarte. Die Netzwerkkarte habe ich nur um mal von einem anderen Rechner per ssh auf den Einzelplatzrechner zuzugreifen. Jedes Mal wenn ich dieses Script starte komme ich nicht mehr ins Internet. Hat vielleicht irgendeiner von euch eine Ahnung warum das so ist? Wie gesagt ohne das Script funktioniert der Internetzugang nur wenn ich das Script starte nicht mehr. Die einzelnen Regeln sollten für DNS, http und ssh sein.
Kurze Erklärung:
62.104.191.241 = Freenet Nameserver steht auch in der resolv.conf
192.168.1.1 = IP Adresse vom Einzelplatzrechner (eth0)
192.168.1.2 = IP Adresse von dem Rechner von dem ich ab und zu mal per ssh drauf zugreifen möchte
#!/bin/sh
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
if [ "$CONNECTION_TRACKING" = "1" ]; then
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j LOG \
--log-prefix "INVALID input: "
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j LOG \
--log-prefix "INVALID output: "
iptables -A OUTPUT -m state --state INVALID -j DROP
fi
if [ "$CONNECTION_TRACKING" = "1" ]; then
iptables -A OUTPUT -o ippp0 -p udp \
-s 192.168.1.1 --sport 1024:65535 \
-d 62.104.191.241 --dport 53 \
-m state --state NEW -j ACCEPT
fi
iptables -A OUTPUT -o ippp0 -p udp \
-s 192.168.1.1 --sport 1024:65535 \
-d 62.104.191.241 --dport 53 -j ACCEPT
iptables -A INPUT -i ippp0 -p udp \
-s 62.104.191.241 --sport 53 \
-d 192.168.1.1 --dport 1024:65535 -j ACCEPT
if [ "$CONNECTION_TRACKING" = "1" ]; then
iptables -A OUTPUT -o ippp0 -p tcp \
-s 192.168.1.1 --sport 1024:65535 \
-d 62.104.191.241 --dport 53 \
-m state --state NEW -j ACCEPT
fi
iptables -A OUTPUT -o ippp0 -p tcp \
-s 192.168.1.1 --sport 1024:65535 \
-d 62.104.191.241 --dport 53 -j ACCEPT
iptables -A INPUT -i ippp0 -p tcp ! --syn \
-s 62.104.191.241 --sport 53 \
-d 192.168.1.1 --dport 1024:65535 -j ACCEPT
if [ "$CONNECTION_TRACKING" = "1" ]; then
iptables -A OUTPUT -o ippp0 -p tcp \
-s 192.168.1.1 --sport 1024:65535 \
--dport 80 -m state --state NEW -j ACCEPT
fi
iptables -A OUTPUT -o ippp0 -p tcp \
-s 192.168.1.1 --sport 1024:65535 \
--dport 80 -j ACCEPT
iptables -A INPUT -i ippp0 -p tcp ! --syn \
--sport 80 \
-d 192.168.1.1 --dport 1024:65535 -j ACCEPT
if [ "$CONNECTION_TRACKING" = "1" ]; then
iptables -A INPUT -i eth0 -p tcp \
-s 192.168.1.2 --sport 1024:65535 \
-d 192.168.1.1 --dport 22 \
-m state --state NEW -j ACCEPT
fi
iptables -A INPUT -i eth0 -p tcp \
-s 192.168.1.2 --sport 1024:65535 \
-d 192.168.1.1 --dport 22 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp \
-s 192.168.1.1 --sport 22 \
-d 192.168.1.2 --dport 1024:65535 -j ACCEPT
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP