Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Шлюз Интернета на базе Ubuntu-Server / Internet Connection Sharing + Squid  (Прочитано 519438 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Из PREROUTING по ACCEPT выпадает либо в INPUT либо в FORWARD.
Так что тут всё верно.

-A PREROUTING -s 192.168.90.0/24 -d 192.168.90.100/32 -p tcp -m tcp --dport 80 -j ACCEPT
Если запрос от нас к нам, то прекратить маяться дурью,
-A PREROUTING -s 192.168.90.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
иначе, если запрос всё-таки от нас, но не нам, а куда-то ещё, послать в пешее эротическое через прокси.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Упс, ступил, -d вообще не заметил.

На eth2 ip адрес один настроен?

Оффлайн mtronin

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Как сделать такое ограничение скорости: все пользователи ограничены по своим максимумам, но если человек начинает качать что-нибудь с файлообменника в рабочее время, то на эту скачку его скорость устанавливается ниже? Пробовал такой вариант:
acl file_download -i req_mime_type -i application/octet-stream
acl download_time MTWHF 8:00-17:00
delay_class 1 1
delay_access 1 allow file_download
delay_access 1 allow download_time
delay_access 1 deny all
delay_parameters 1 512000/256000
Проблема в том, что при указании нескольких delay_access правило срабатывает при попадании хотя бы в один acl, что не подходит – нужно, чтобы этот delay_pool срабатывал при совпадении всех delay_access правил. Такое вообще возможно?

Оффлайн Pro_ceed

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Упс, ступил, -d вообще не заметил.

На eth2 ip адрес один настроен?

Да на eth2 статический адресс 192.168.90.100


Попробовал изменить скрипт

Вариант 1:

Цитировать
INET_IFACE="eth1"
LAN_IP="192.168.90.100"
LAN_IP_RANGE="192.168.90.0/24"
LAN_IFACE="eth2"
LO_IFACE="lo"
LO_IP="127.0.0.1"
IPTABLES="/sbin/iptables"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -F
$IPTABLES -F
$IPTABLES -X

$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --state NEW,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 22 -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 80 -s $LAN_IP_RANGE -j ACCEPT

Результат: Если задать явно прокси в браузере то интернет у клиента есть, а если  прописать шлюз то интернета нет

Вариант 2:

Цитировать
INET_IFACE="eth1"
LAN_IP="192.168.90.100"
LAN_IP_RANGE="192.168.90.0/24"
LAN_IFACE="eth2"
LO_IFACE="lo"
LO_IP="127.0.0.1"
IPTABLES="/sbin/iptables"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -F
$IPTABLES -F
$IPTABLES -X

$IPTABLES -t nat -A PREROUTING -i LAN_IFACE ! -d LAN_IP_RANGE -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.90.100:3128
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --state NEW,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 22 -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 80 -s $LAN_IP_RANGE -j ACCEPT

Результат: Если задать явно прокси в браузере то интернет у клиента есть, а если  прописать шлюз то интернета нет

Вариант 3:

Цитировать
INET_IFACE="eth1"
LAN_IP="192.168.90.100"
LAN_IP_RANGE="192.168.90.0/24"
LAN_IFACE="eth2"
LO_IFACE="lo"
LO_IP="127.0.0.1"
IPTABLES="/sbin/iptables"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -F
$IPTABLES -F
$IPTABLES -X

$IPTABLES -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 3128
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --state NEW,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 22 -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 80 -s $LAN_IP_RANGE -j ACCEPT

Результат: Если задать явно прокси в браузере то интернет у клиента есть, а если  прописать шлюз то интернета нет

Получается что ни один из вариантов не срабатывает.........



Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
В сторону DNS копал?

Оффлайн Pro_ceed

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
В сторону DNS копал?

В resolv.conf указал ДНС провайдера.
Но так как eth1 получает адресс от ADSL routera то resolv.conf постоянно меняется после перезагрузки.....
Пробовал ставить bind9 но результат такой же.....

И по идее если бы проблема была в ДНС то и через явное указание прокси интернета не было бы.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Но так как eth1 получает адресс от ADSL routera то resolv.conf постоянно меняется после перезагрузки.....
Пробовал ставить bind9 но результат такой же.....

И по идее если бы проблема была в ДНС то и через явное указание прокси интернета не было бы.
На сервере с DNS всё в порядке, иначе тогда бы не работало через прокси. Что у клиентов прописано?

И по идее если бы проблема была в ДНС то и через явное указание прокси интернета не было бы.
Через прокси идёт запрос с доменным именем, и резолвинг имени на клиенте не используется, в отличии от прямого сединения.

Оффлайн Pro_ceed

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Но так как eth1 получает адресс от ADSL routera то resolv.conf постоянно меняется после перезагрузки.....
Пробовал ставить bind9 но результат такой же.....

И по идее если бы проблема была в ДНС то и через явное указание прокси интернета не было бы.
На сервере с DNS всё в порядке, иначе тогда бы не работало через прокси. Что у клиентов прописано?

И по идее если бы проблема была в ДНС то и через явное указание прокси интернета не было бы.
Через прокси идёт запрос с доменным именем, и резолвинг имени на клиенте не используется, в отличии от прямого сединения.

Если на прямую, то у клиентов прописан шлюз 192.168.90.100 и такой же ДНС
И по идее  при прямом указании IP сайта в браузере, он должен нормально загрузиться???

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
И по идее  при прямом указании IP сайта в браузере, он должен нормально загрузиться???
Не всяк так сайты грузиться будут. Если веб-сервер работает по технология виртуалхостов, то не будет работать. Но вот например гугл нормально должен грузится так http://74.125.87.147/

Пользователь решил продолжить мысль 25 Мая 2010, 15:48:51:
Если на прямую, то у клиентов прописан шлюз 192.168.90.100 и такой же ДНС
Тогда там должен работать DNS-сервер / DNS-прокси (например как раз для шлюза подойдёт днс-прокси dnsmasq)  или должны с помощью iptables транслироваться запросы на вышестоящий сервер. Можно также на клиентах прописать адрес вышестоящего DNS сервера.
« Последнее редактирование: 25 Мая 2010, 15:48:51 от Mam(O)n »

Оффлайн Pro_ceed

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Mam(O)n, спасибо огромное.!
Действительно проблема была с ДНС.

Когда я у клинета прописал адресса ДНС провайдера все заработало. Теперь булду разбираться с dnsmasq

Еще раз спасибо....... :D

Оффлайн winhex

  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
помогите разобраться. Есть домашний шлюз. в нем 1 физическая сетевая + сетевая wifi (работала как точка доступа через hostapd).
Добавил интерфейс eth0:0 для внутренней сети. С eth0 поднимается pppoe. Настроил роутинг. Все работало примерно неделю. После одной из перезагрузок интерфейс   eth0:0 не поднялся, на команду
sudo ifconfig eth0:0 upполучаем
SIOCSIFFLAGS: Cannot assign requested address
interaces:
(Нажмите, чтобы показать/скрыть)
ifconfig
(Нажмите, чтобы показать/скрыть)
В итоге на самом шлюзе есть инет, в локалке соответственно нет. Шлюз так же является DHCP-сервером.
Помогите разобраться...

Проблему решил, указав другой IP
« Последнее редактирование: 02 Июня 2010, 10:53:42 от winhex »

Оффлайн Maulder

  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
у меня такая проблема вот по времени не срабатывает..

acl time_obed time 12-14

http_access deny username url_deny
http_access allow username time_obed games DIP
http_access deny username DIP
http_access deny username games
http_access deny username deny_files
http_access allow username
http_access deny all

Подскажите что не так....

Оффлайн ExcaliburNEXT

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
если у меня интернет будет настроен  с помощью мастера pppoeconf, интернет будет автоматически востонавливатся после обрыва связи, у меня провайдер меняет IP адрес каждые сутки (при этом идет обрыв)?

Оффлайн perlik0

  • Новичок
  • *
  • Сообщений: 42
    • Просмотр профиля
Скажите пожалуйста, как указать две директории для кеша?
Спасибо  :)

 add:

Хоть убей, не могу понять юниксовую документацию. Оказывается нужно просто две строки cache_dir указать.
« Последнее редактирование: 23 Июня 2010, 16:51:19 от perlik0 »

Оффлайн Legionivo

  • Новичок
  • *
  • Сообщений: 33
  • In IT we trust!
    • Просмотр профиля
Мои конфиги для шлюза на базе Ubuntu-Server.
Имеем: офис на 20 машин, ADSL модем в режиме роутера. К модему подключен шлюзец: duron 700 Mhz, 512 Ram, 120 Гб винт, Ubuntu-Server 9.10.
Задача была сделать шлюз для офиса + учёт трафика+ кто куда ходил + чтобы не менять у юзеров каких-либо настроек.

Interfaces:
(Нажмите, чтобы показать/скрыть)

resolv.conf
(Нажмите, чтобы показать/скрыть)

iptables-rules
(Нажмите, чтобы показать/скрыть)

Squid.conf
(Нажмите, чтобы показать/скрыть)

Установлен сквид. +Sams. + ещё Sarg. Всё раздается, считается.
Только с самсом траблы. Демон запущен, но в реальном времени не считает трафик. Только если из консоли или через крон sams -d запустить, тогда трафик пересчитывается. Ограничений по трафику и резалок каких-либо не делал.


Может этот пост кому поможет.
« Последнее редактирование: 25 Июня 2010, 10:58:35 от Legionivo »

 

Страница сгенерирована за 7.067 секунд. Запросов: 25.