Strona 1 z 1
Ustawienie iptables tylko dla www
: 02 stycznia 2012, 13:17
autor: kilofmar
Witam
.
Chciałbym dla jednego numeru IP odblokować tylko port 80, czyli aby mógł korzystać tylko z www.
Zrobiłem coś takiego ale nie działa.
Kod: Zaznacz cały
iptables -A INPUT -p tcp --dport 80 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dport 80 -o ppp0 -s 10.0.1.60 -j MASQUERADE
: 02 stycznia 2012, 13:53
autor: mariaczi
Bo pewnie nie umie rozwiązać nazwy domenowej na IP. Musisz jeszcze zezwolić na zapytania DNS.
: 02 stycznia 2012, 14:34
autor: kilofmar
Wpisałem tak.
Kod: Zaznacz cały
iptables -A INPUT -p tcp --dport 80 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dport 80 -o ppp0 -s 10.0.1.60 -j MASQUERADE
iptables -A INPUT -p tcp --dport 53 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dport 53 -o ppp0 -s 10.0.1.60 -j MASQUERADE
Ale i tak nie przepuszcza.
A to moje całe reguły.
Kod: Zaznacz cały
# wlaczenie w kernelu forwardowania
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/ip_forward
# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
# ustawienie polityki dzialania
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# zezwolenie nna laczenie sie z naszym zewnetrznym ip po ssh
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
grep "^" /etc/hosts | grep -v "^#" |grep -v "^10.0.1.60" |grep -v "^127.0.0.1" |grep [0123456789] | while read IP nazwa ; do
iptables -A INPUT ! -i ppp0 -s $IP -j ACCEPT
iptables -A FORWARD ! -i ppp0 -s $IP -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -s $IP -j MASQUERADE
done
iptables -A INPUT -p tcp --dport 80 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dport 80 -o ppp0 -s 10.0.1.60 -j MASQUERADE
iptables -A INPUT -p tcp --dport 53 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 ! -i ppp0 -s 10.0.1.60 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dport 53 -o ppp0 -s 10.0.1.60 -j MASQUERADE
# polaczenia nawiazane
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
: 04 stycznia 2012, 11:03
autor: Cyphermen
Na początek powiedz mi, czy sprawdzasz działanie z Debiana firewalla, czy stacji klienckiej?
Później polecam nie kombinować za bardzo tylko przepuścić ruch dla wszystkich ale tylko na port 80, to samo dns.
Jeśli to zadziała dopiero baw się w opcje "-s" i "! -i ppp0" bo ciężko stwierdzić, czy Ty w ogóle dobre adresy podajesz.
: 04 stycznia 2012, 11:46
autor: Unit
DNS udp 53