Настраиваем роутер на Linux Ubuntu NAT + DHCP + Squid

12 May 2010

Linux сервер чаще всего применяют для того, чтобы организовать общий доступ в интернет для определенного количества машин. Отдать предпочтение этой операционной системе можно благодаря ее низкой стоимости и относительно невысоким требованиям к железу. Чаще всего Linux сервер устанавливают первым в организации, а это может вызвать определенные сложности у администраторов, которые ранее не использовали данную операционную систему. В этой статье мы детально опишем настройку роутера (что включает в себя NAT, DHCP, Squid) на базе Ubuntu Server. 

Установка и настройка первоначальных параметров. 

Ubuntu Server имеет возможность предустановки выбранных ролей сервера, а также отличается от своей настольной версии тем, что в ней отсутствуют пользовательские приложения и графические оболочки GUI, хотя по большому счету это относиться к любой версии Ubuntu, а также с небольшими поправками для любого Linux дистрибутива. Установка Ubuntu Server обычно не вызывает сложностей так как происходит на русском языке в текстовом режиме.

Из предложенного списка программного обеспечения, нам нужен только OpenSSH, который используется для удаленного доступа к серверу. Опытный пользователь может без проблем установить все необходимые пакеты при помощи пункта Manual package selection. Но если это первый сервер, который вы настраиваете, то лучше мы установим все необходимые для работы программы позже. Такая последовательность нужна для того, чтобы мы могли успешно справиться с возможными неполадками, которые могут возникнуть в процессе установки, а также это позволит иметь четкое представление о назначении каждого устанавливаемого пакета.

Итак, после установки Ubuntu Server система перезагружается и мы видим черный экран командной строки. Конечно администраторов, которые привыкли к консоли Windows, это может слегка удивить, но следует учесть, что все серверные роли Linux настраиваются только через консоль и файлы конфигурации.
Вначале следует настроить сетевые соединения. Для этого в консоли вводим:

sudo nano /etc/network/interfaces

Данная команда открывает в консольном редакторе nano файл конфигурации с сетевыми интерфейсами, аналогично рисунку.

If you enjoyed this post, make sure you subscribe to my RSS feed!

Мне понравилось! Занести себе в закладки:  

Google Buzz Vkontakte Facebook Twitter SEO Community Ваау! News2.ru Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Web-zakladka Zakladok.net Reddit delicious Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru МоёМесто.ru Mister Wong

Страницы: [ Страница 1 ] [ Страница 2 ] [ Страница 3 ] [ Страница 4 ] [ Страница 5 ]

Тоже интересно:

Pages: 1 2 3 4 5

30 Comments к записи Настраиваем роутер на Linux Ubuntu NAT + DHCP + Squid

Avatar

Создание файлового сервера на Ubuntu 9.10 (Samba) | ManNix.ru

20th May 2010 в 10:44 am

[...] На нашем примере все сетевые настройки получены по DHCP в процессе установки, в ином случае нужно настраивать [...]

Avatar

rik

3rd July 2010 в 9:06 pm

и днс меняется у мабилки вечно поэтому ещё вопрос что тогда писать в sudo nano /etc/resolv.conf или что вообще делать ?

Avatar

vkontakte.ru admin

5th July 2010 в 5:53 pm

тогда стоит указать DNS стороний, не Вашего провайдера. списков полно в интернете

Avatar

rik

5th July 2010 в 10:40 pm

сделал всё в точь как тут написано! ничего не работает кроме DHCP сервака! на клиентской тачьке всё настраивается айпи днс и получает на 12 часов всё как на картинке! но инет не идёт! а после перезагрузки сеть вообще отваливается и не включается пока не удалиш из интерфейсов настройки

auto eth0

iface eth0 inet static

address 10.0.0.1

netmask 255.255.255.0 (так как инет через гпрс модем второй интерфейс который для дсл модема я не прописывал)

насчёт днс мабилки я посматрел он прописывается в sudo nano /etc/resolv.conf автоматически

но как я уже сказал ничего не пашет а после перезагрузки ещё и сеть отвалилась и инет через трубку не подключается

Avatar

Life64g

5th September 2010 в 4:12 am

Все завелось, спасибо!!)) Вопросу меня 4 карточки воткнуты, в одну входит интернет в другую выходит, а как сделать так чтоб на остальных 2-х карточках еще раздавался ин-т?

Avatar

vkontakte.ru admin

7th September 2010 в 4:07 pm

Life64g, нужно добавить сети, что находятся за вашими другими сетевыми картами в правила NAT'а.

Avatar

kijimoshike

7th September 2010 в 7:37 pm

А как сделать чтоб аутентифика́ция пользователей проходила по IP + MAC? Не по логину и паролю(благо squid позволяет это) а менно по такой связке.

Avatar

vkontakte.ru admin

7th September 2010 в 8:52 pm

Squid позволяет проводит аутентификацию по IP-адресам клиентов. Mac-адрес не виден за пределами маршрутизатора, так что использовать его в связке при аутентификации нет смысла. Если речь идет только о вашей локальной сети, то можно настроить dhcp-сервер таким образом(если конечно его использование допустимо), что определенным клиентам с заранее заданными маками будет выдаваться всегда один и тот же ip. Пользователям закрыть доступ на изменение настроек сетевого интерфейса.

Avatar

Life64g

8th September 2010 в 1:29 pm

А можно по подробнее? Что именно нужно вписать в NAT?

Avatar

ApeX-IM

3rd October 2010 в 5:30 am

С linux только знакомлюсь, статья супер, получилось все с первого раза! Огромное спасибо!

Avatar

Игорь

17th October 2010 в 2:56 pm

Подскажите строки, наверно иптаблеса, чтоб в сеть пропустил ip-tv протокола и порты

Avatar

Artur

13th November 2010 в 1:40 am

обязательно ли настраивать squid для того чтобы локальные компы в инет пускало??

Avatar

vkontakte.ru admin

15th November 2010 в 2:56 pm

Squid это прокси-сервер, используется для управления доступом в интернет. Если вам просто нужно выпустить локалку во внешнюю сеть, сквид не обязателен, будет достаточно настроить NAT.

Avatar

woldemar

7th December 2010 в 2:32 pm

сделал все как написано но нет на рабочии станции не идет

Avatar

Alexandr

13th December 2010 в 2:52 pm

Статья отличная, но на определенном этапе зашел в тупик. при настройке DNS вношу изменение в строкe файла dnsmasq (listen-address=127.0.0.1, 10.0.0.1). После этого ничего не меняется, т.е. инет на клиентах работает только при указании днс адресов (собственно как было до установки dnsmasq). В чем может быть проблема?

Avatar

Alexandr

23rd December 2010 в 3:16 pm

Все отлично, но чего то не хватает. При таких настройках интернет неожиданным образом то пропадает, то появляется.

Avatar

mistic

24th May 2011 в 5:39 pm

Небольшая опечатка в тексте: «etc0»

«Пока там прописан только один интерфейс etc0, который настроен на работу по DHCP. К eth0 в нашем случае подключен ADSL модем»

Avatar

vkontakte.ru admin

25th May 2011 в 9:18 am

Спасибо, поправили

Avatar

Герман

9th June 2011 в 10:31 pm

огромное спасибо за мануал!

я начинающий пользователь *.nix систем. поднял у себя на работе роутер по Вашему мануалу (все сделал как написано, только адресация в локалке отличается). и появились вопросы сразу.

OS: Ubuntu Server 11.04

инет от прова приходит по pppoe.

внешний интерфейс:

auto eth0

iface eth0 inet dhcp

в /etc/resolv.conf прописаны руками DNS сервера провайдера.

внутренний интерфейс:

auto eth1

iface eth1 inet static

address 192.168.0.10

netmask 255.255.255.0

интернет на компьютерах пользователей заработал, но не ходит почта и не работает аська, также не работают некоторые банк-клиенты.

конфиги 100500 раз проверял! все точно как в этом мануале. подскажите ПЛЗ где я что не так делаю?

есть подозрение что в /etc/nat собака зарыта:

#!/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 192.168.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

# Заворачиваем http на прокси

iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.10:3128

может быть необходимо вместо eth0 прописать ppp0???

Avatar

Gtntxrf

4th August 2011 в 5:41 pm

Огромное спасибо. Очень полезный труд =-)

Avatar

Денис

20th August 2011 в 7:42 pm

При перезапуске сети выдает ошибку, если убрать команду запуска скрипта из /etc/network/interface, то все нормально работает. В чем может быть проблема?

Avatar

AKC

1st November 2011 в 1:43 pm

Такая же проблемв при подключении модема в режиме Bridge не работают isq skype https — как поменять конфиг

Avatar

Антон

9th December 2011 в 8:25 am

Герман, а разве вообще нат и прокси одновременно нужно делать?

у вас на проксю ж только 80,8080 порты идут, вот интернет и работает, а вот с остальным нет, может как раз конфликты.

Avatar

Костя

11th January 2012 в 8:58 am

Здравствуйте, сталкнулся с такой проблеммой, сделал все по мануалу как описано выше, после когда запускаю все, все работает как надо, но только первые пару минут, комп который подключен по сети перестает видеть пинг 10.0.0.1, интенет на сервере работает, а вот клиент не видет сервер, после если перезапускаю службу нетворк, первые 30 секунд все хорошо, после опять обвал. что может быть?

Avatar

Костя

11th January 2012 в 10:10 am

Перепрочитал мануал, с сетью разобрался, но интернет не работает на клиенте =( все сделал по монуалу, где капать?

Avatar

Viktor

22nd January 2012 в 1:17 pm

Спасибо огромное за статью!!! Очень помогла в настройке домашнего сервера под раздачу интернета. По поводу комментария Германа почта, аська и банк-клиенты не работают вероятно из-за отфутболивания внешних запросов на подключение

# Запрещаем доступ снаружи во внутреннюю сеть

iptables -A FORWARD -i eth0 -o eth1 -j REJECT

попробуй без этой строчки или пробрось отдельно порты на нужные программы.

Avatar

Евгений

13th February 2012 в 10:12 pm

Таже история, что и у Кости и еще у кого-то)))

DHCP на локалку IP раздает нормально, но доступа к инету нет. Сервак инет видет.

При перезагрузке сети пишет, что /bin/sh: /etc/nat не найден

Ubuntu 10.04

Подскажите, в чем может быть проблема?

Avatar

strakt

24th April 2012 в 3:35 pm

Все сделал по мануалу, все заработало, обрадовался. попробовал перезагрузить комп и тут глазам своим не поверил: перестал работать интернет и вместо русских букв квадратики закрашенные. посмотрел еще раз мануал, проверил, ошибок нет. на роутере пингуется www.ru на клиенте пингуется www.ru, даже скайп на клиенте работает, а интернет страницы не открываются. В чем проблема? ОС ubuntu server 11.10

Avatar

google.com Alexey Vesnin

27th April 2012 в 3:03 pm

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

Avatar

google.com Alexey Vesnin

27th April 2012 в 3:05 pm

Евгений — а у Вас судя по ошибке — опечатка в скрипте « /etc/nat»

Оставить комментарий

Наверх