Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Сетевые технологии (http://forum.oszone.net/forumdisplay.php?f=31)
-   -   Помогите настроить раздачу инета (http://forum.oszone.net/showthread.php?t=211946)

posmotret 26-07-2011 09:20 1720014

Помогите настроить раздачу инета
 
Здравствуйте!

Из-за того что некоторые не сознательные сотрудники ходят по порно сайтам устал бороться с вирусами и решил заняться раздачей инета. Сеть 25 компьютеров у всех установлен windows xp.2 сервера на одном win 2003 на другом debian lenny. Интернет приходит по ADSL в модем, который воткнут в общий свитч. Этот модем у всех прописан шлюзом и соответственно все видят внешний мир. Этот модем физически находиться от меня через 2 этажа рядом с компьютером секретаря... на её компьютер не хочу устанавливать usergate...и провод протягивать от туда к себе тоже не хочу...в идеале хочу что бы инет раздавал сервер с debian. Вопрос можно ли настроить его (сервер) таким образом что бы прописать его шлюзом всем рабочим станциям а он бы уже отдавал профильтрованый инет ?

freese 26-07-2011 10:41 1720062

posmotret, можно, только нужно, чтобы физически не был доступен adsl модем другими путями, а то найдутся хитрые юзеры

posmotret 26-07-2011 11:18 1720081

freese, вместо модема я могу поставить dlink'овский роутер и в нем запретить всем доступ в инет кроме сервера с прозрачной проксей...уже начал настраивать squid...есть вопросы по поводу его настройки...здесь можно задавать или в другом разделе ?

freese 26-07-2011 11:52 1720103

никто не запрещает задавать тут

posmotret 26-07-2011 12:00 1720105

предположим что я настроил squid и он разрешает всем все...на клиентской машине изменил шлюз на адрес прокси...вопрос в том на прокси сервере мне надо еще настраивать iptables что бы трафик перекидывался на squid или он сам все это будет определять и делать ?

Angry Demon 26-07-2011 12:50 1720140

Цитата:

Цитата posmotret
на клиентской машине изменил шлюз на адрес прокси

Неправильно. Шлюз убрать, а прокси настроить в браузере.

posmotret 26-07-2011 13:02 1720148

Angry Demon, нет, мне надо именно так...насколько я понял это делается через прозрачный прокси сервер и squid это умеет. На бухгалтерских компьютерах много всяких клиент банков и прочее если сделать просто прокси то придется каждую программу перенастраивать.

Не могу разобраться с настройкой squid. Мне надо создать правило локальная сеть имеет доступ к прокси а все остальные не имеют делаю это так:

acl all src 0.0.0.0/0.0.0.0
acl localnet src 192.168.0.0/24
http_acces allow localnet
http_access deny all

"прозрачность" делаю так:
always_direct allow all
http_port 0.0.0.0:3128 transparent

теперь надо сделать так что бы локальная сеть получила доступ в инет...как это сделать ? не могу сообразить...помогите
В данный момент с такими настройками, когда я меняю шлюз на своем компьютере инета нет...причем не доступ запрещен, а узел не найден...я так понимаю что у меня даже проксик не задействуется...отсюда вопрос про iptables нужно ли делать некое перенаправление им ?

freese 26-07-2011 17:37 1720397

Цитата:

Цитата posmotret
теперь надо сделать так что бы локальная сеть получила доступ в инет...как это сделать ? »

может както так http://forum.oszone.net/thread-210962.html

posmotret 27-07-2011 07:48 1720674

freese, да, эта статья из инета я её читал уже несколько раз...Отличие там в том что на сервере где стоит squid 2 и более сетевых интерфейсов, как минимум один смотрит в локальную сеть, а второй в инет...у меня же на сервере один сетевой интерфейс, который смотрит только в локалку, по-этому у меня не получить кидать трафик между интерфейсами...вот примера для моей ситуации я не нашел...

freese 27-07-2011 14:12 1720862

posmotret, протянуть отдельно кабель?

posmotret 27-07-2011 15:59 1720919

freese, в том и соль что бы ничего не протягивать и по минимум настроек у клиентов...сейчас мой сервер в качестве шлюза всем дает инет...но у меня не получается завернуть трафик на squid...делаю так:

Код:

#! /bin/sh
#
INET="eth0"
INETIP="192.168.0.111"
case "$1" in
  start)
  iptables --flush
# доступ пользователя "proxy" через Squid - uid "proxy" - 13
# если в вашем случае другой, то поменяйте его
iptables -t nat -A POSTROUTING -o $INET ! -d 192.168.0.0/24 -j SNAT --to-source $INETIP
iptables -t nat -A OUTPUT -m owner --uid-owner 13 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 3128
# Отбрасываем HTTPS-трафик
iptables -t filter -A OUTPUT -m owner --uid-owner 13 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j REJECT
echo "1" > /proc/sys/net/ipv4/ip_forward

    echo "старт прозрачного проксирования"
    ;;
  stop)
    iptables --flush
    iptables --table nat --flush
    echo "отмена прозрачного проксирования"
    ;;
  *)
    echo "скрипт используйте так: iptables_proxy.script {start|stop}"
    exit 1
    ;;
esac
exit 0

в логе squid access.log пусто...телнетом на порт 3128 зацепиться не могу...

P.S. странное дело...когда начинал все это думал научусь, разберусь...а сейчас такое ощущение что не понимаю еще больше чем до этого :)

posmotret 27-07-2011 16:34 1720948

freese, да в том и соль что бы ничего не тянуть и настраивать по минимуму

freese 27-07-2011 16:46 1720955

posmotret,
настройки SQUID`а (squid.conf):
редактировал?
должно быть так
Цитата:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

posmotret 27-07-2011 16:55 1720962

freese,
редактировал, но у меня сейчас до squid дело не ходит...сейчас я в такой ситуации:
прописав у клиентов шлюзом адрес сервера
Код:

Подключение по локальной сети 2 - Ethernet адаптер:

        DNS-суффикс этого подключения . . :
        Описание  . . . . . . . . . . . . : Realtek RTL8168/8111
thernet NIC
        Физический адрес. . . . . . . . . : 00-18-F3-02-F7-A7
        Dhcp включен. . . . . . . . . . . : нет
        IP-адрес  . . . . . . . . . . . . : 192.168.0.53
        Маска подсети . . . . . . . . . . : 255.255.255.0
        Основной шлюз . . . . . . . . . . : 192.168.0.111
        DNS-серверы . . . . . . . . . . . : 8.8.8.8

клиенты получают инет:
Код:

C:\Documents and Settings\user>tracert www.ya.ru

Трассировка маршрута к ya.ru [87.250.251.3]
с максимальным числом прыжков 30:

  1    <1 мс    <1 мс    <1 мс  192.168.0.111
  2    1 ms    27 ms    27 ms  95.71.104.1
  3    29 ms    29 ms    30 ms  10.203.43.1
  4    31 ms    32 ms    31 ms  77.51.254.214
  5    37 ms    32 ms    35 ms  77.51.254.213
^C

странички открываются
на сервере:
Код:


 sudo iptables -L
Chain INPUT (policy ACCEPT)
target    prot opt source              destination

Chain FORWARD (policy ACCEPT)
target    prot opt source              destination

Chain OUTPUT (policy ACCEPT)
target    prot opt source              destination

конфиг squid:
Код:

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

hosts_file /etc/hosts

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl inet src 192.168.0.111
acl LocalNet src 192.168.0.0/24
acl incom dst 192.168.0.111
acl lh src 127.0.0.1

http_access allow LocalNet
http_access deny all


# Опции прозрачного перенаправления:
always_direct allow all
http_port 192.168.0.111:3128 transparent

# Эффективные пользователь/группа
cache_effective_user proxy
cache_effective_group proxy

access_log /var/log/squid/access.log squid

icp_access allow all
cache_mgr mail@linuxforchildren.com

forwarded_for off
coredump_dir /var/spool/squid

Проверяю открытые порты:
Код:

netcat -v -w 4 -z 192.168.0.111 1-1023 | grep succeed
srvdwb.sumzr [192.168.0.111] 445 (microsoft-ds) open
srvdwb.sumzr [192.168.0.111] 139 (netbios-ssn) open
srvdwb.sumzr [192.168.0.111] 111 (sunrpc) open
srvdwb.sumzr [192.168.0.111] 22 (ssh) open

и его (порта 3128) нет среди открытых

соответственно телнетом тоже не могу на него зацепиться...squid стартует без сообщений об ошибках

и еще если же я запускаю вот этот скрипт:
Код:

#! /bin/sh
#
INET="eth0"
INETIP="192.168.0.111"
case "$1" in
  start)
  iptables --flush
# доступ пользователя "proxy" через Squid - uid "proxy" - 13
# если в вашем случае другой, то поменяйте его
iptables -t nat -A POSTROUTING -o $INET ! -d 192.168.0.0/24 -j SNAT --to-source $INETIP
iptables -t nat -A OUTPUT -m owner --uid-owner 13 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 3128
# Отбрасываем HTTPS-трафик
iptables -t filter -A OUTPUT -m owner --uid-owner 13 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j REJECT
echo "1" > /proc/sys/net/ipv4/ip_forward

    echo "старт прозрачного проксирования"
    ;;
  stop)
    iptables --flush
    iptables --table nat --flush
    echo "отмена прозрачного проксирования"
    ;;
  *)
    echo "скрипт используйте так: iptables_proxy.script {start|stop}"
    exit 1
    ;;
esac
exit 0

то трассировка маршрута у клиента становиться такая:
Код:

C:\Documents and Settings\user>tracert www.ya.ru

Трассировка маршрута к ya.ru [87.250.251.3]
с максимальным числом прыжков 30:

  1    <1 мс    <1 мс    <1 мс  192.168.0.111
  2    1 ms    1 ms    <1 мс  192.168.0.1
  3    27 ms    27 ms    27 ms  95.71.104.1
  4    37 ms    58 ms    30 ms  10.203.43.1
^C

и перестают открываться веб страницы на сервере, хотя пинги и трасировка с сервера идут, а у клиента работает все


Время: 03:15.

Время: 03:15.
© OSzone.net 2001-