1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Squid+iptables=?

Тема в разделе "Софт", создана пользователем firefly, 19.07.04.

  1. firefly

    firefly Активный участник

    1.956
    0
    Имеем сервер на Linux. Стоит биллинг. Клиентам по dhcpd раздаются 192.168.1.0/24 через eth1. В интернет смотрит eth0 192.168.61.2. Стоит pptpd. VPN клиентам отдается 192.168.240.0/20. (клиенты из сети 192.168.1.0 подключаются по vpn). В интернет могут ходить только .240.0. Поставил на этом же сервере Squid. Хочу "прозрачный" прокси сделать. Естессно он должет быть доступен только .240.0., а то .1.0. через него полезут. Вот сижу и не могу понять куда же его в правилах iptables прописать... Но чтобы запросы (ответы) еще через цепочку billing проходили... Вот iptables-save:
    Помогите... Мозги кипят...

    *nat
    :PREROUTING ACCEPT [15144:1243553]
    :POSTROUTING ACCEPT [290:75380]
    :OUTPUT ACCEPT [290:75380]
    -A POSTROUTING -s 192.168.240.0/255.255.240.0 -o eth0 -j SNAT --to-source 192.168.61.2
    COMMIT
    *filter
    :INPUT DROP [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT DROP [0:0]
    :admin-allow - [0:0]
    :bad-packets - [0:0]
    :billing - [0:0]
    :icmp-flood - [0:0]
    :syn-flood - [0:0]
    -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j syn-flood
    -A INPUT -p icmp -j icmp-flood
    -A INPUT -j bad-packets
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 1723 -j ACCEPT
    -A INPUT -s 192.168.1.0/255.255.255.0 -p 47 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 22 -j admin-allow
    -A INPUT -j DROP
    -A FORWARD -j bad-packets
    -A FORWARD -d 192.168.240.0/255.255.240.0 -m state --state INVALID,NEW -j DROP
    -A FORWARD -s 192.168.240.0/255.255.240.0 -d 1.1.1.0/255.255.255.0 -j ACCEPT
    -A FORWARD -s 1.1.1.0/255.255.255.0 -d 192.168.240.0/255.255.240.0 -j ACCEPT
    -A FORWARD -s 192.168.240.0/255.255.240.0 -j ULOG --ulog-cprange 48
    -A FORWARD -d 192.168.240.0/255.255.240.0 -j ULOG --ulog-cprange 48
    -A FORWARD -j billing
    -A OUTPUT -o lo -j ACCEPT
    -A OUTPUT -j ACCEPT
    -A admin-allow -s 192.168.1.0/255.255.255.0 -j ACCEPT
    -A admin-allow -j DROP
    -A bad-packets -p tcp -m tcp --dport 135 -j DROP
    -A bad-packets -m state --state INVALID -j DROP
    -A bad-packets -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP
    -A bad-packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset

    Вырезан кусок отлова плохих пакетов в таблицу bad-packets

    -A bad-packets -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
    -A bad-packets -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
    -A billing -s 192.168.240.6 -j ACCEPT Это автоматом прописались
    -A billing -d 192.168.240.6 -j ACCEPT подключенные клиенты
    -A icmp-flood -p icmp -m icmp --icmp-type 8 -m limit --limit 10/sec --limit-burst 25 -j RETURN

    Так же вырезано, что нам не нужно. Таблица icmp-flood

    -A icmp-flood -j DROP
    -A syn-flood -m limit --limit 3/sec --limit-burst 25 -j RETURN
    -A syn-flood -j DROP
    COMMIT
     
  2. Spawn

    Spawn Активный участник

    903
    0
    м, у меня на днях знакомый над этим бился, как увижу попрошу посмотреть твой случай ;)
     
  3. Fl@sh

    Fl@sh Активный участник

    654
    0
    Код:
    iptables -t nat -A PREROUTING -p tcp --dport 80 
    -s 192.168.240.0/255.255.240.0 
    -j REDIRECT --to-ports 3128
    
    либо вместо 3128 впиши номер порта, на котором твоя прокся болтается.
    НО: если у тебя на проксе авторизация используеся, то при розрачном просировании она не будет работать.

    ЗЫ: А что у тебя за биллинг-то?
     
    Последнее редактирование модератором: 27.07.04