Наиболее частым применением Linux серверов является организация общего доступа в интернет. Это обусловлено низкой стоимостью такого решения и невысокими требованиями к железу. Во многих случаях это бывает первый Linux сервер в организации, что способно вызвать у администраторов определенные сложности. В данной статье мы пошагово рассмотрим настройку роутера (NAT + DHCP + Squid) на базе Ubuntu Server 9.04
Установка и первоначальная настройка
Ubuntu Server отличается от своей настольной версии отсутствием графической оболочки и пользовательских приложений, а также возможностью предустановки заранее выбранных ролей сервера. Несмотря на это, все сказанное будет справедливо для любой версии Ubuntu и, с некоторыми поправками, для любого Linux дистрибутива. Установка Ubuntu Server происходит в текстовом режиме на русском языке и, как правило, не вызывает сложностей. Отдельно стоит только остановится на списке ролей: из предложенного нас, пожалуй, может заинтересовать только OpenSSH, для удаленного доступа, однако воспользовавшись пунктом Manual package selection опытный пользователь может сразу установить необходимые ему пакеты.

Ubuntu Server отличается от своей настольной версии отсутствием графической оболочки и пользовательских приложений, а также возможностью предустановки заранее выбранных ролей сервера. Несмотря на это, все сказанное будет справедливо для любой версии Ubuntu и, с некоторыми поправками, для любого Linux дистрибутива. Установка Ubuntu Server происходит в текстовом режиме на русском языке и, как правило, не вызывает сложностей. Отдельно стоит только остановится на списке ролей: из предложенного нас, пожалуй, может заинтересовать только OpenSSH, для удаленного доступа, однако воспользовавшись пунктом Manual package selection опытный пользователь может сразу установить необходимые ему пакеты.
Если же это ваш первый сервер, то лучше всего продолжить не выбирая никакого варианта, все необходимые пакеты мы доустановим позже. Это позволит иметь более четкое представлении о назначении того или иного пакета и позволит успешно справляться с возможными неполадками. По окончании установки система перезагрузится и встретит нас черным экраном командной строки. Непривычного к консоли Windows-администратора это может неприятно удивить, однако ситуация на сегодняшний день такова, что все серверные роли Linux настраиваются исключительно через консоль и файлы конфигурации.
В первую очередь настроим сетевые соединения. Вводим в консоли:
Эта команда откроет в консольном редакторе nano конфигурационный файл с сетевыми интерфейсами, аналогичный рисунку ниже.
sudo nano /etc/network/interfacesЭта команда откроет в консольном редакторе nano конфигурационный файл с сетевыми интерфейсами, аналогичный рисунку ниже.
Пока там прописан единственный интерфейс etc0, настроенный на работу по DHCP. К eth0 у нас подключен ADSL модем (или любая сеть провайдера), а eth1 смотрит во внутреннюю сеть. IP адрес на внешнем интерфейсе 192.168.1.2, шлюз (ADSL модем) 192.168.1.1, внутренняя сеть лежит в диапазоне 10.0.0.1 - 254. Тогда настройки будут выглядеть следующим образом:
В этом файле необходимо указать адреса DNS серверов, лучше всего указать DNS провайдера или, как в нашем случае, OpenDNS.
Сохраняем. Теперь нужно перезапустить сетевые службы (либо перезагрузиться):
Собственно сеть настроена, можно переходить к следующему этапу, однако мы рекомендуем установить еще несколько пакетов для удобства администрирования. Сначала обновим список доступных пакетов:
Также рекомендуем обновить версии пакетов до актуальных:
Теперь установим Midnight Commander (mc), файловый менеджер по образу и подобию Norton Commander или Far:
Для запуска Midnight Commander достаточно набрать в консоли его краткое имя: mc. Сразу рекомендуем включить встроенный редактор, более удобный чем nano: F9 - Настройки - Конфигурация - Встроенный редактор.
Сохраняем (F2), для автоматического запуска скрипта снова открываем /etc/network/interfaces и в самый конец файла дописываем:
Также не забываем дать нашему скрипту права на исполнение:
Перезапускаем сеть:
Если нигде не допущено ошибок все должно работать. Для проверки укажем на машинах внутренней сети в качестве шлюза и DNS адрес нашего роутера: 10.0.0.1 и пропингуем любой внешний адрес, например один из OpenDNS серверов: 208.67.222.222. Но интернет пока работать не будет. Почему? Да потому, что мы указали в качестве DNS сервера наш роутер, который пока таковым не является. Можно конечно явно прописать DNS на клиентской машине,однако, это не наш метод, если вдруг DNS сервера изменятся, нам что, бегать перепрописывать?

Одно из решений: поднять на нашем роутере полноценный DNS сервер, но в большинстве случаев это избыточно, поэтому мы ограничимся простым кэширующим DNS (а также и DHCP) сервером Dnsmasq.
После установки открываем /etc/dnsmasq.conf, находим, раскомментируем и изменяем следующим образом строку, чтобы разрешить серверу принимать DNS запросы из внутренней сети.:
Перезапускаем DNS сервер:
После чего на клиентских машинах должен заработать интернет.
Настраиваем DHCP
Теперь, когда наш сервер работает, нужно настроить клиентские машины. Можно, конечно, прописать все параметры вручную, но как быть если клиентских машин много и расположены они по всему зданию? Здесь нам на выручку приходит протокол DHCP, который позволяет клиентским машинам получать сетевые настройки автоматически. В качестве DHCP сервера выступит уже установленный Dnsmasq. Настроить его не просто, а очень просто, для чего снова открываем /etc/dnsmasq.conf.
Все что нам надо, это задать диапазон выдаваемых адресов (в нашем случае 10.0.0.100-150), сетевую маску и время, на которое выдается IP адрес:
Адреса DNS сервера и шлюза сервер берет автоматически из системных настроек. Еще раз перезапускаем Dnsmasq:
Сохраняем изменения Ctrl+O и выходим Ctrl+X. Теперь нужно настроить DNS, для этого выполняем:auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.0
sudo nano /etc/resolv.confВ этом файле необходимо указать адреса DNS серверов, лучше всего указать DNS провайдера или, как в нашем случае, OpenDNS.
#OpenDNS Servers
nameserver 208.67.222.222
nameserver 208.67.220.220Сохраняем. Теперь нужно перезапустить сетевые службы (либо перезагрузиться):
sudo /etc/init.d/networking restartСобственно сеть настроена, можно переходить к следующему этапу, однако мы рекомендуем установить еще несколько пакетов для удобства администрирования. Сначала обновим список доступных пакетов:
sudo apt-get updateТакже рекомендуем обновить версии пакетов до актуальных:
sudo apt-get upgradeТеперь установим Midnight Commander (mc), файловый менеджер по образу и подобию Norton Commander или Far:
sudo apt-get install mcДля запуска Midnight Commander достаточно набрать в консоли его краткое имя: mc. Сразу рекомендуем включить встроенный редактор, более удобный чем nano: F9 - Настройки - Конфигурация - Встроенный редактор.
Для удаленного управления сервером (не бегать же к нему каждый раз) установим OpenSSH, что позволит подключаться к нему из любого места, даже из дома, по защищенному протоколу:
Для подключения с Windows станций можно использовать программу PuTTY (скачать), для корректного отображения символов перед подключением необходимо на закладке Window - Translation выбрать кодировку UTF8.
sudo apt-get install sshДля подключения с Windows станций можно использовать программу PuTTY (скачать), для корректного отображения символов перед подключением необходимо на закладке Window - Translation выбрать кодировку UTF8.
Для ограничения доступа к серверу можно дописать в файл /etc/ssh/sshd_config параметр AllowUsers с указанием пользователя имеющего доступ по SSH, например для пользователя admin:
Также можно разрешить доступ определенной группе пользователей используя параметр AllowGroups, либо запретить доступ определенным пользователям / группам использовав DenyUsers и DenyGroups.
Настраиваем NAT
Для организации общего доступа к интернет необходимо настроить трансляцию сетевых адресов (NAT), что позволит сетевым службам внутренней сети получать доступ к внешней сети. Для этого достаточно выполнить всего одну команду, но есть одна тонкость: все будет работать только для перезагрузки. На настоящий момент в Linux нет механизма, который бы сохранял настойки iptables при перезагрузке сервера или сети. Поэтому мы пойдем другим путем и вынесем эти настройки в отдельный скрипт, запускаемый при загрузке системы. Сначала создадим файл скрипта:
Потом откроем его в редакторе Midnight Commander (F4) и внесем следующий текст:
AllowUsers adminТакже можно разрешить доступ определенной группе пользователей используя параметр AllowGroups, либо запретить доступ определенным пользователям / группам использовав DenyUsers и DenyGroups.
Настраиваем NAT
Для организации общего доступа к интернет необходимо настроить трансляцию сетевых адресов (NAT), что позволит сетевым службам внутренней сети получать доступ к внешней сети. Для этого достаточно выполнить всего одну команду, но есть одна тонкость: все будет работать только для перезагрузки. На настоящий момент в Linux нет механизма, который бы сохранял настойки iptables при перезагрузке сервера или сети. Поэтому мы пойдем другим путем и вынесем эти настройки в отдельный скрипт, запускаемый при загрузке системы. Сначала создадим файл скрипта:
sudo touch /etc/natПотом откроем его в редакторе Midnight Commander (F4) и внесем следующий текст:
#!/bin/sh
# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT
# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
# Включаем NAT
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
# Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth0 -o eth1 -j REJECTСохраняем (F2), для автоматического запуска скрипта снова открываем /etc/network/interfaces и в самый конец файла дописываем:
post-up /etc/natТакже не забываем дать нашему скрипту права на исполнение:
sudo chmod +x /etc/natПерезапускаем сеть:
sudo /etc/init.d/networking restartЕсли нигде не допущено ошибок все должно работать. Для проверки укажем на машинах внутренней сети в качестве шлюза и DNS адрес нашего роутера: 10.0.0.1 и пропингуем любой внешний адрес, например один из OpenDNS серверов: 208.67.222.222. Но интернет пока работать не будет. Почему? Да потому, что мы указали в качестве DNS сервера наш роутер, который пока таковым не является. Можно конечно явно прописать DNS на клиентской машине,однако, это не наш метод, если вдруг DNS сервера изменятся, нам что, бегать перепрописывать?
Одно из решений: поднять на нашем роутере полноценный DNS сервер, но в большинстве случаев это избыточно, поэтому мы ограничимся простым кэширующим DNS (а также и DHCP) сервером Dnsmasq.
sudo apt-get install dnsmasqПосле установки открываем /etc/dnsmasq.conf, находим, раскомментируем и изменяем следующим образом строку, чтобы разрешить серверу принимать DNS запросы из внутренней сети.:
listen-address=127.0.0.1, 10.0.0.1Перезапускаем DNS сервер:
sudo /etc/init.d/dnsmasq restartПосле чего на клиентских машинах должен заработать интернет.
Настраиваем DHCP
Теперь, когда наш сервер работает, нужно настроить клиентские машины. Можно, конечно, прописать все параметры вручную, но как быть если клиентских машин много и расположены они по всему зданию? Здесь нам на выручку приходит протокол DHCP, который позволяет клиентским машинам получать сетевые настройки автоматически. В качестве DHCP сервера выступит уже установленный Dnsmasq. Настроить его не просто, а очень просто, для чего снова открываем /etc/dnsmasq.conf.
Все что нам надо, это задать диапазон выдаваемых адресов (в нашем случае 10.0.0.100-150), сетевую маску и время, на которое выдается IP адрес:
dhcp-range=10.0.0.100,10.0.0.150,255.255.255.0,12hАдреса DNS сервера и шлюза сервер берет автоматически из системных настроек. Еще раз перезапускаем Dnsmasq:
sudo /etc/init.d/dnsmasq restartТеперь можно выставить на клиенте автоматическое получение IP адреса и убедиться, что все работает нормально. Просмотреть выданные адреса можно командой:
В выдаче будут перечислены выданные IP адреса и MAC адреса которым они выданы.
Настраиваем кэширующий прокси-сервер Squid
В любой большой сети определенная часть трафика повторяется от пользователя к пользователю и порой его доля доходит до 50%. Логично бы было кэшировать наиболее повторяющиеся запросы и тем самым снизить нагрузку на канал, сэкономить входящий трафик и ускорить выдачу страниц конечному пользователю. Для этих задач мы используем Squid - кэширующий прокси с широчайшими возможностями.
Останавливаем прокси-сервер и приступаем к настройке:
Открываем /etc/squid/squid.conf, находим и корректируем следующие строки, не забыв их раскомменитровать:
Указываем порт:
Настраиваем кэш:
Дополнительные материалы:
cat /var/log/syslog | grep DHCPOFFERВ выдаче будут перечислены выданные IP адреса и MAC адреса которым они выданы.
Настраиваем кэширующий прокси-сервер Squid
В любой большой сети определенная часть трафика повторяется от пользователя к пользователю и порой его доля доходит до 50%. Логично бы было кэшировать наиболее повторяющиеся запросы и тем самым снизить нагрузку на канал, сэкономить входящий трафик и ускорить выдачу страниц конечному пользователю. Для этих задач мы используем Squid - кэширующий прокси с широчайшими возможностями.
sudo apt-get install squidОстанавливаем прокси-сервер и приступаем к настройке:
sudo /etc/init.d/squid stopОткрываем /etc/squid/squid.conf, находим и корректируем следующие строки, не забыв их раскомменитровать:
Указываем порт:
http_port 3128 transparentНастраиваем кэш:
cache_dir ufs /var/spool/squid 4096 32 256
Указываем внутренние сети, лишние комменитруем:acl localnet src 10.0.0.0/24 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
Разрешаем доступ из внутренних сетей (найти и раскомменитровать):http_access allow localnetУстанавливаем лимит использования памяти:memory_pools on
memory_pools_limit 50 MB
Задаем язык вывода ошибок для пользователяerror_directory /usr/share/squid/errors/Russian-koi8-rВажное замечание! В Ubuntu 9.10 эта строка может выглядеть так, рекомендуем проверить правильность пути:error_directory /usr/share/squid/errors/ruСохраняем файл конфигурации. Теперь строим кэш и запускаем:sudo /usr/sbin/squid -z
sudo /etc/init.d/squid start Для проверки указываем в браузере на клиентской машине использование прокси-сервера с адресом 10.0.0.1 и портом 3128, убеждаемся что все работает. Остается настроить прозрачную работу прокси-сервера, чтобы http трафик заворачивался на Squid автоматически, без прописывания прокси на клиенте. Для этого открываем /etc/nat и дописываем в конец строку:# Заворачиваем http на прокси
iptables -t nat -A PREROUTING -i eth1 -d ! 10.0.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 10.0.0.1:3128Перезапускаем сеть: sudo /etc/init.d/networking restartВсе. В нашем распоряжении рабочий сервер, позволяющий организовать общий доступ к интернет, кешируюший http трафик и DNS запросы, а также умеющий раздавать клиентским машинам необходимые для работы в сети настройки.Дополнительные материалы:
- Ubuntu Server. Настраиваем контент-фильтр роутера (DansGuardian)
- Ubuntu Server. Настраиваем антивирусный фильтр роутера (ClamAV)
- Ubuntu Server. Дополняем контент-фильтр роутера антивирусом (DansGuardian + ClamAV)
- Ubuntu Server. Настраиваем форвардинг портов на роутере.
- Ubuntu Server. Настраиваем авторизацию через Squid.
- Ubuntu Server. Ограничиваем скорость клиентов через Squid.

Пасиба огромное за такую полезную мурзилку! Правда не все заработало, как тут описано. Вопросы мона?
Можно, задавайте
Всё заработало! спасибо! только не получилось завернуть на проксю :( пишет неизвестный аргумент -m :(
Вы строку целиком ввели? после " -m" должно быть продолжение "multiport --dport 80...".
Благодарю! Очень помогли!
а если комне уже приходит прокси я магу указать в конфиге squid cache_peer IP_провайдера, будет работать nat если я сделаю все остольное по стотье?
и еще вапрос а прокатит это все на Ubuntu 9.04/9.10 Desktop ???
Да, принципиальной разницы между Server и Desktop нет.
По первому вопросу. Если провайдер предоставляет доступ только через прокси NAT работать не будет, в этом случае можно ограничится только прозрачным прокси, не настраивая NAT. Если провайдер предоставляет полноценный интернет + прокси, то можно также указать в конфиге прокси провайдера, получите каскад прокси, т.е. по сути есть возможность переложить функции кэширующего прокси на прокси провайдера (при опции parent) или совместить функции, если данные есть в кэше прокси провайдера они берутся оттуда, если нет наш прокси получает их самостоятельно (опция sibling)
я в этом нуб, прокси вбивал в браузере тоесть проги работают у кторых есть возможность в бить проксю! а какая она я х.з!
мне по сути надо просто проксю перевести на стотический ip что бы не ходить по зданию и в бивать в каждый браузер проксю, как я понимаю это делаеться с помошью nat, тоесть мы просто все запросы с ната перенапровлаем на squid ???
Судя по вашему описанию NAT вам не нужен, хотя лишним не будет (не совсем понятно как у вас осуществляется доступ в интернет). Необходимый минимум для вас - прозрачный прокси. Для этого вам нужно настроить Squid и, желательно, DHCP (две последние части статьи).
Тфу сори спутал прозрачную проксю с натом , у нас в школе есть сеть приходит от цо (центра образование вроде от туда) школе выделен целый диапазон от 192.168.34.2-192.168.34.255 соответственно шлюз у нас 192.168.34.1 естественно энет не пашет приходиться в бивать их проксю в браузер то есть 192.168.2.2:3128
У меня в коспе два сетевых контролера eth0 – внешния локалка eth1(10.0.0.1) в нутриния локалка которую я хочу сделать, я поднял squid и заставил его забирать проксю с 192.168.2.2, прокся за работало проверял, но вот когда прописываю iptables -t nat -A PREROUTING -i eth1 -d ! 10.0.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 10.0.0.1:3128 то не фига не фурычет такое ощущение что iptables попросту толи не перенаправляет порты толи вообще не работает! Вот я интересовался прокатит это на Desktop, дома использую под игрульки и под сайты с сетевыми технологиями в линуксе не когда не сталкивался так что необесуйти!
Внутренняя сеть у вас точно в диапазоне 10.0.0.0/24, т.е. с маской 255.255.255.0? Это первое, второе проверьте работоспособность squid не заворачивая http на прокси, а просто прописав 10.0.0.1:3128, если работает, то по пунктам выполняем заново пункт "Настройка NAT" (желательно потому что там кроме NAT настраиваются еще базовые правила для брандмауэра), не забывая поставлять свои IP адреса. Если не работает проверьте путь к /usr/share/squid/errors/Russian-koi8-r в нашем случае после обновления на 9.10 путь пришлось изменить на error_directory /usr/share/squid/errors/ru, проверьте через mc какая папка существует по указанному пути.
И еще насколько я знаю, в школах, чтобы инет заработал без прокси нужно прописывать статические маршруты, если вы найдете эти настройки я подскажу вам как поднять полноценный NAT.
когда прописаваю в браузере 10.0.0.1:3120 то squid работает когда на страиваю nat и патом указиваю сетевке шлюс 10.0.0.1 то не фига не работает((( делал все как на писано в статье!
папачка у меня ru в конфиге ее сразу прописал)))
Так у вас squid настроен на 3120 или 3128? Если 3120 то в последней строке etc/nat тоже поменяйте 3128 на 3120. А IP адрес лучше получайте по DHCP.
что самое интересно при ведения iptables -t nat -A PREROUTING -i eth1 -d ! 10.0.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 10.0.0.1:3120
выдоет вот это Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
самое интересное что когда делаеш пункт "Настройка NAT" приходяшия прокся пробрасиваеться и работает когда ее в браузер в биваеш, локальная тоже работает когда в браузер в биваеш, во вот не заварачиваеться, порты точно не где не напутал я хоть и нуб но не настроьлко что бы squid настроить на 3120 а пробрасовать 3128 иседеть надееться что у меня заработает)))))))))))))))))))
х.м тапанул приходящьия прокся так и буде работать я же пробрасиваю с одной сетевки на другую)))
Где то ошибка в синтаксисе, вечером посмотрю на тестовом сервере. У вас 9.10 Десктоп?
Все, разобрался с "Using intrapositioned negation". Обновите Iptables, это признанная и исправления разработчиками Debian ошибка.
Присутствует в версиях iptables/1.4.3.1-1, iptables/1.4.3.2-2
Исправлена в iptables/1.4.4-1
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=528736
неа обновил до 1.4.6 серовно такая ошибка, и серовно не работает, попробуйте дома если вам несложно буду очень блогодарен. Ubuntu 9.10 Desktop
хе с ошибкой разаобрался надо писать не iptables -t nat -A PREROUTING -i eth1 -d ! 10.0.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 10.0.0.1:3128
а
iptables -t nat -A PREROUTING -i eth1 ! -d 10.0.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 10.0.0.1:3128
но он серовно не переводит порты(((
Вечером попробую на 9.10 Desktop, результат напишу.
ну че как продвижение есть?
Пока категорически нет времени, думаю завтра или в субботу руки дойдут.
а можете подсказать на какой версии Iptables делали Вы???
Все настройки работают на iptables 1.4.4 Ubuntu Server 9.10
а если не сложно попробуйте пожалосто пот ключить squid к другомупрокси!
извеняюсь за свою тупасть, понел по чему у меня не чего не работало, у меня в нутри школы сеть к нам приходит только прокси и не чего болия! поскольку комне приходит только прокси а для прозрачного прокси требуеться днс сервер соответствено он у меня не прописан и не чего неработет. У меня вапрос как можно поднять днс сервер или от куда его взять когда в сети кромя прокси не чего нету?
Насколько я сталкивался со школьным интернетом, то все там подводится полностью, но по умолчанию доступен только прокси, остальное начинает работать после ручного прописывания статических маршрутов. Поищите настройки, там должен быть DNS, или попробуйте в качестве DNS вписать в resolv.conf IP адрес прокси сервера
пробовал не по могает, ладно завтро буду в цо звонить с ними по говорю))
у меня из настроик есть только ip внутрений и внешний, маши на каторой крутиться прокси!
Спосибо Уваров А.С. за помощь, пойду курить мануал маршрутизации!
Ну этого явно недостаточно, попробуйте позвонить в ЦО и уже у них уточнить все что вам нужно.
они больше не чего не говорят!
еще знаю днс сервера каторые забиты на машине где прокси!
это днс комкора(АКАДО)
Здесь нужно проверять, есть ли доступ к ним из вашей сети.
они не пингуються, на просьбу пустить днс в сеть мне от казали, есть какая нибудь возможность допустить поднять сервер днс и заставить его ходить за домена через прокси?
*допустим
*доменами
Извиняюсь за не грамотность!
Боюсь что нет, если вам оставили один прокси, то особо ничего тут не придумаешь.
доброе время суток.
огромное спасибо за статью. Очень помогла поднять NAT под Debian 5.
Только вот проблема маааахонькая...
Как сделать чтоб /etc/nad стартовал автоматом, при загрузки моего Debian... дело в том, что на post-up /etc/nat оно ругается... говорит ошибка в строке 18 (это у меня она 18-я строка, последняя). Если руками тыркать /etc/nat то всё работает отлично. Заранее признателен за ответ.
Если, что то моё мыло: ad0s1a@mail.ru
P.S.:
Вот листинг файла интерфейсов:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 172.16.108.100
netmask 255.255.255.0
gateway 172.16.108.2
iface eth1 inet static
address 172.16.109.254
netmask 255.255.025.0
auto eth1
Для начала проверьте права на скрипт и является ли он исполняемым.
Можно попробовать добавить запуск этого скрипта в /etc/rc.local, просто добавьте туда строку /etc/nat.
скрипт запускается если его ткнуть ручками... гм... надо попробовать через rc.local
У меня есть подозрения, что несмотря на близкое родство, Ubuntu и Debian несколько по разному обрабатывают содержимое /etc/network/interfaces
Спасибо огромное. Все заработало. Лучшая информация по этому вопросу. Многое стало понятнее)
Столкнулся с той же проблемой, что и Lavrik. Только вот установка 1.4.4-1 тоже ничего не дала. Тогда я решил собрать из сырцев. Собрал, но проблема не решилась.
Я попробывал "!" поставить перед "-d". Правило в цепочку добавилось без ошибок, но проблему не решило. Браурез как выдавал проблемы сквида так и дальше выдавать стал.
Тут я решил вообще убрать этот "!" и о чудо, всё заработало.
Так же имеется вопрос: допустим всё выполнено по этой статье до (включая) просто установку Squid'а и правку его конфига. Что это нам даёт? Что теперь все пакеты будут автоматически проходить через него? или пока мы не будем заворачивать их на squid, он будет отдельно, а пакеты мимо него проходить?
squid будет сам по себе, чтобы завернуть трафик на прокси придется его вручную прописывать в браузере и прочих приложениях. Если прозрачный прокси не нужен последнюю настройку вполне можно пропустить.
Доброе время суток!
Возникла необходимость установить сервер, раздающий интернет на учебный класс. Хотелось бы, чтобы он работал и как шлюз, и как контент-фильтр (допустим, установив DansGuardian). Возможно ли это сделать на Ubuntu 9.10?
Хотелось бы услышать от Вас, а точнее прочитать: «Верной дорогой идете, товарищ!»
P.S. Скажу сразу, в Линуксе не силён, поэтому подумайте хорошенько :) прежде, чем мне отвечать. При положительном для меня ответе – завалю вопросами :)