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