linux-gateway
Настройка Ubuntu сетевым шлюзом для раздачи интернета в локальную сеть

  • January 28th, 2010
  • 123 Comments

В этой заметке будет рассказано как с помощью iptables настроить системы с Ubuntu и Debian для раздачи интернета другим компьютерам локальной сети. На простом примере будет показано как машину с двумя сетевыми интерфейсами (в один поступает интернет, из другого — «выходит») сделать шлюзом.

Допустим, что аппаратно-сетевая часть уже полностью настроена, на вашей машине имеются работоспособный интернет и вы видите другие компьютеры сети. Поэтому давайте разберемся что к чему, для этого введем команду:

ifconfig

Она выдаст список работающих в данный момент сетевых интерфейсов. Среди них надо опознать те, что начинаются со слов «Link encap:Ethernet» — это интерфейсы сетевых карт. Как правило, это eth0 и eth1.
Теперь потребуется опознать в какой из них поступает интернет, а из какого «выходит». Проще всего это сделать по их ip-адресам.
Итак, допустим через eth0 вы получаете интернет (например через adsl-модем по протоколу ppp), а eth1 связывает вас с локальной сетью.
Если локальная сеть настроена через Network Manager, то мы рекомендуем прописать эти настройки непосредственно в системном конфигурационном файле сети:

sudo nano /etc/network/interfaces

Здесь исправьте настройки вашего сетевого интерфейса, подключенного к локальной сети (в нашем случае eth1), соответствующим образом:

auto eth1
iface eth1 inet static
address 192.168.0.10
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

Значение address — это айпи вашей машины в локальной сети, по этому адресу собственно и будет располагаться шлюз.
Значение netmask — в локальных сетях для этого диапазона чаще всего такая. Для других диапазонов можно вычислить здесь.
Значения network и broadcast будут зависеть от вашего адреса. То есть, если ваш локальный ip — 10.0.0.10, то network и broadcast будут 10.0.0.0 и 10.255.255.255 соответственно.

Либо, это можно проделать всего одной командой:

sudo ifconfig eth1 192.168.0.10

Эта команда самостоятельно настроит вашу сетевую карту eth1 на использование статичного айпи-адреса, и самостоятельно пропишет описанные выше настройки в файл /etc/network/interfaces

В любом случае, после этих изменений перезапустите networking:

sudo /etc/init.d/networking restart

Командой:

ifconfig

проверьте, что изменения вступили в силу и все работает.

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

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

Если прямой необходимости в сбросе настроек iptables нет, то лучше этого не делать.

Следующие команды настроят ваш iptables для NAT-трансляции (NAT, Network Address Translation — «преобразование сетевых адресов») через Ubuntu-шлюз:

sudo iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE

Если необходимые вам сетевые интерфейсы отличаются от eth0 и eth1, то просто измените первую строку соответствующим образом.
Если ваша локальная сеть находится вне диапазона 192.168.x.x, то маску подсети для указания в первой строке вы сможете легко вычислить через сервис Network Calculators.

Теперь для конфигурации gateway’я для роутинга между двумя интерфейсами необходимо включить IP-форвардинг командой:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

И последний штрих: надо отредактировать файл sysctl.conf:

sudo nano /etc/sysctl.conf

Добавьте в него вот эти две строки для активации роутинга:

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1

После этого ваш интернет-шлюз готов к работе. Можете настраивать клиентские машины. На нашем примере для них gateway будет 192.168.0.10

Если все внесенные вами изменения работают корректно и вы желаете внести эти настройки в автозагрузку (а именно, вышеприведенные настройки iptables теряют активность после перезагрузки системы), то сохраните нынешнюю рабочую конфигурацию iptables в файл командой:

sudo sh -c "iptables-save > /etc/iptables.up.rules"

После этого в сам файл сетевых настроек /etc/network/interfaces (sudo nano /etc/network/interfaces) к параметрам вашего сетевого интерфейса, например, из которого к вам поступает интернет (в нашем случае – это eth0) добавьте строку:

pre-up iptables-restore < /etc/iptables.up.rules

То есть оно станет примерно такого вида:

auto eth0
iface eth0 inet manual
pre-up iptables-restore < /etc/iptables.up.rules

Только не меняйте значения в строке iface, просто добавьте указанную строку последней в разделе auto eth0 (ну или какого-то другого сетевого интерфейса). После этого при перезагрузке сохраненные настройки iptables будут подниматься автоматически.

Если вы хотите добавить к этому автоматическую раздачу адресов (dhcp) и прокси, то воспользуйтесь для этого, например, вот этой инструкцией.

  1. Ник left a comment on 11.03.2010 at 19:28

    Спасибо, работает. Как открыть интернет для второго компа, это возможно по этой инструкции?

  2. info left a comment on 11.03.2010 at 20:20

    Да, Ник, конечно. Теперь все компьютеры сети могут пользоваться Ubuntu-шлюзом для выхода в интернет. Просто везде на них указывайте один и тот же gateway (в статье это был 192.168.0.10)

  3. ник left a comment on 13.03.2010 at 22:04

    info, спасибо, это вы написали для последовательного соединения или параллельного, когда 2 компа подключаются к 3му на убунту ?
    как сделать при параллельном соединении?

    • info left a comment on 14.03.2010 at 18:21

      Это всё имеет силу, когда компьютеры находятся в одной локальной сети. Независимо от способа соединения: если проходит ping между вашим Ubuntu и любой другой машиной, то можно смело указывать Ubuntu как интернет-шлюз.

      О том, как наладить непосредственно сетевое соединение в Ubuntu Вы можете прочитать, например, вот здесь.

  4. Семен left a comment on 22.03.2010 at 10:42

    а какой DNS указывать на клиентах если у меня он 10.0.1.1?

    • info left a comment on 23.03.2010 at 00:42

      Семен, если клиенты имеют доступ к Вашему DNS (пинг проходит) и он исправно работает, то смело его и указывайте на Ваших клиентах. Если же с этим возникают какие-то затруднения, то можете попробовать публичные DNS Google’а – 8.8.8.8 и 8.8.4.4

  5. ssmokee left a comment on 23.03.2010 at 15:27

    Спасибо за подробную инструкцию!
    Подскажите, есть ли скрипты или подробное описание настройки L2TP соединения на Ubuntu 9.10?

  6. Ashron left a comment on 25.03.2010 at 18:42

    Здравствуйте.
    Выполнил все в соответствии с вашей инструкцией.
    Вопрос, только уже наверно касается Win7 из которой я пингую убунту
    Выдает: Ответ 169,254,191,160 Заданный узел недоступен
    но пинг на 192,168,0,10 проходит и получает все пакеты.

    Как правильно прописать шлюз в семерке… вернее шлюз, днс маску…это ладно..а айпишник какой ? …подставлял 192,168,0,11 – тогда при пинге уже этот узел говорит недоступен

  7. Ashron left a comment on 25.03.2010 at 19:23

    Прописал на Win7
    ip, маску, шлюз, ДНС-ы провайдера. сохранил. А потом проверил ipconfig выдал все как я прописал, кроме DNS-суффикса подключение – там пусто и состояние среды – среда передачи недостуно. Что я делаю не так ?

    Извините если вопросы элементарные, я сетевыми технологиями никогда не занимался…

    • info left a comment on 26.03.2010 at 11:54

      Ashron, между числами в ip-адресе должны быть точки, а не запятые. То есть не ‘192,168,0,11’, а именно ‘192.168.0.11’. Это важно – программы не поймут записи с запятыми.
      Также, DNS указывайте тот, что предоставляет Вам ваш провайдер, на крайний случай публичные DNS Google’а (8.8.8.8/8.8.4.4)

  8. Ashron left a comment on 27.03.2010 at 11:06

    Здравствуйте.
    Запятые в адресе – это я ошибся в самом посте. DNS прописывал, как провайдера, так и Google’a. Не помогло.

    Еще, так должно быть или нет – после всех настроек, в трее ( в убунте вверху справа, или как он здесь называется) – там где значок сетевых соединений, при нажатии на него, раньше показывалось:
    Проводная сеть
    Auto eth0 (название сетевой карты)
    eth1 (название сетевой карты)

    Теперь лишь первое соединение показывает “Auto eth0” , а в место eth1 пишет, что “устройство не управляется”

    • info left a comment on 31.03.2010 at 20:32

      Ashron, здравствуйте.
      Да, то, что у вас NetworkManager’ом управляется только один из сетевых интерфейсов после изменений, описанных в этой статье – это правильно. В начале статьи этот момент упоминается.
      Также скажите, есть ли интернет на вашей Ubuntu-машине, после того как вы изменили настройки, точно ли он поступает именно в интерфейс eth0?
      Если да, то попробуйте еще раз проделать все шаги из статьи, может быть где-то ошиблись. Если не поможет, то покажите вывод команд:
      ifconfig
      cat /etc/network/interfaces

      Попробуем разобраться…

  9. ivan left a comment on 27.03.2010 at 20:46

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

    • info left a comment on 31.03.2010 at 21:23

      Да, Ivan, извините – это наш недочёт – проверяли на сервере, который работает постоянно и на поведение после перезагрузки не обратили внимание. Посмотрите на конец статьи – только что его подредактировал – дополнил информацию о том, как поднимать конфигурацию iptables автоматически.
      В вашем случае рекомендуем обнулить все настройки iptables:
      sudo iptables --flush
      sudo iptables --delete-chain

      И еще раз проделать все шаги из этой статьи с дополнением о сохранении настроек.

  10. Ashron left a comment on 01.04.2010 at 07:51

    Хорошо, попробую все сделать еще раз по новой, чуть позже. (когда вновь буду играться с убунтой =) ).

  11. Ashron left a comment on 01.04.2010 at 07:53

    Да, на самой Убунтe-машине интернет был и поступал именно в eth0.

    Всего доброго, и благодарю за познавательную инструкцию, пока разбирался много нового узнал =)

  12. LRN left a comment on 04.04.2010 at 21:46

    Я для этой цели использую iptables вместе с ipmasq. Ни одной из вуду-команд, описанных в статье, писать не пришлось – поставил всё из пакетов. Если не считать редактирования файлов правил для ipmasq (что эквивалентно нескольким вызовам sudo iptables -A BLAH …)
    Может я чего упустил? Debian Etch.

  13. e0ne left a comment on 05.04.2010 at 13:50

    ipmasq нет в репозитариях ubuntu 9.10 и выше.

  14. gumanoed left a comment on 10.04.2010 at 10:20

    Хочу заметить что после редактирования файл /etc/sysctl.conf и раскоментирования строк

    net.ipv4.conf.default.forwarding=1
    net.ipv4.conf.all.forwarding=1

    вам просто необходимо выполнить команду

    sudo sysctl -p

  15. ValeryVS left a comment on 12.04.2010 at 15:10


    Теперь для конфигурации gateway’я для роутинга между двумя интерфейсами необходимо включить IP-форвардинг командой:
    sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward”

    после перезагрузки значение обратно слетает на 0
    как это сохранить?
    (iptables сохранились правильно, сбрасывается только это значение)

  16. ValeryVS left a comment on 12.04.2010 at 16:24

    (к предыдущему коментарию)

    И последний штрих: надо отредактировать файл sysctl.conf:
    sudo nano /etc/sysctl.conf
    Добавьте в него вот эти две строки для активации роутинга:
    net.ipv4.conf.default.forwarding=1
    net.ipv4.conf.all.forwarding=1

    раскомментировал не те строчки в стандартном файле
    исправил – теперь все работает правильно
    Спасибо

  17. BVS-studio left a comment on 15.04.2010 at 01:18

    Спасибо большое)
    Самое полное и подробное описание во всем Рунете..
    Все замечательно работает)

  18. Александр left a comment on 23.04.2010 at 09:44

    Спасибо за статью, все работает. Есть один вопрос: Как сделать, чтобы не все пользователи из внутренней сети 192.168.Х.ХХХ/28, а только определенные IP имели доступ во внешнюю сеть? Заранее благодарен за ответ

    • info left a comment on 01.05.2010 at 15:11

      Александр, Вам соответствующим образом необходимо настроить файрволл. По-сути это можно сделать средставми самого iptables (в сети достаточное количество описаний его настройки в этом ключе), но также можно установать и какое-нибудь отдельное приложение типа Firestarter, если вы привыкли к GUI.

  19. Bill left a comment on 27.04.2010 at 13:19

    Замечательная статья – спасибо огромное)все ясно, просто и по делу..но вот еще нужно решить задачку: можно ли при подоюной настройке как нибудь мониторить трафик с разных IP? если кто нибудь знает, плдскажите, пожалуйста, буду очень благодарна)

    • info left a comment on 01.05.2010 at 15:16

      Bill, следить за сетевым трафиком в реальном времени можно, например, утилитой iptraf

  20. Владимир left a comment on 13.05.2010 at 08:43

    Прекрасное руководство, всё работает, но почему-то только если на сервере установлен gnome. В чём причина, как сделать всё тоже самое на сервере без графики?

  21. Alex left a comment on 13.05.2010 at 11:24

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

  22. Alexey left a comment on 13.05.2010 at 11:55

    Alex, эти команды создают правило iptables для использования функции NAT (преобразования сетевых адресов), которая использует свою таблицу.
    Документацию можно посмотреть здесь: http://www.opennet.ru/docs/RUS/iptables/#NATTABLE

  23. Alexey left a comment on 13.05.2010 at 11:58

    Владимир, Gnome – это графическая оболчка для Xов, и она совершенно не влияет на настройки iptables.
    Используя Ubuntu без XOrg, все должно прекрасно работать.

  24. Владимир left a comment on 13.05.2010 at 13:28

    Ещё раз внимательно проделал всё по инструкции, всё работает, где-то допустил ошибку в прошлый раз,
    спасибо.

  25. Alex left a comment on 13.05.2010 at 13:59

    а если еще DHCP сервер работает, то изменять настройки не надо? Все делать как указано выше?

  26. m00n left a comment on 21.05.2010 at 21:21

    совсем недавно поставил ubuntu и вопрос у меня по
    auto eth0
    iface eth0 inet manual
    pre-up iptables-restore < /etc/iptables.up.rules

    у меня IP приходит по ДХЦП, и в /etc/network/interfaces нет никаких упоминаний о eth1 (на него приходит интернет), я просто добавил в /etc/network/interfaces
    auto eth1
    iface eth1 inet manual
    pre-up iptables-restore < /etc/iptables.up.rules

    работать будет?

  27. Григорий left a comment on 22.05.2010 at 18:13

    Спасибо ОГРОМНОЕ!
    Статей в интернете полно, но как то не получалось победить эту тему. Тут все конкретно и подробно. Интернет в сеть пошел. Вопрос не совсем в тему; интернет буду раздавать через АР. Чей IP прописывать шлюзом на хостах сети, IP АР или IP Ubuntu?
    Заранее спасибо.

  28. info left a comment on 23.05.2010 at 09:43

    Alex, если на вашем сервере работает параллельно DHCP, то по-идее дополнительных настроек не требуется, главное не удалите существующие.

  29. info left a comment on 23.05.2010 at 09:48

    m00n, если у вас в /etc/network/interfaces описан только один сетевой интерфейс, но физически в компьютере их два, то второй управляется программой Network Manager. Как-то изменять /etc/network/interfaces в Вашем случае не советуем, со строками:
    auto eth1
    iface eth1 inet manual
    pre-up iptables-restore < /etc/iptables.up.rules

    - скорее всего работать не будет.

  30. info left a comment on 23.05.2010 at 10:24

    Григорий, уточните что вы подразумеваете под AP?
    В любом случае, если вы настроили корректно Ваш ubuntu-шлюз, то его ip можно смело прописывать на других компьютерах.

  31. Григорий left a comment on 24.05.2010 at 13:39

    Добрый день!
    Под АР я подразумевал Access Рoint (роутер). Его адрес не относится к моей локальной сети. Сейчас на машинах локалки прописан ip ubuntu-шлюза. Ping через роутер идет в обоих направлениях, как по Ethernet так и по Wifi. Но интернет в сеть идет только по ethernet. По Wifi, точка доступа видна, подключение происходит, но в интернет машины из локалки не попадают.

  32. SlavkaTT left a comment on 25.05.2010 at 20:35

    Объясните подробно все сделал как было написано.
    на сервере стоит ubuntu, клиент – 7. машины друг друга пингуют
    что в 7 и куда прописать чтобы инет появился.

  33. Andrey left a comment on 28.05.2010 at 08:52

    Отличная статья! Все работает как часы!

  34. Frees left a comment on 01.06.2010 at 07:30

    Добрый день!

    А есть ли способ более гибко раздавать интернет из под линукса? Интересует в первую очередь ограничение ширины канала для конкретных пользователей.

  35. МистерТвистер left a comment on 02.06.2010 at 21:33

    к 37 посту:
    ситуация как у m00n
    добавил строки – заработало
    до этого не пахал ДНС из внутренней сети

  36. c_deneuve left a comment on 16.06.2010 at 19:34

    Спасиба автору !! все работает!!1

  37. Дмитрий left a comment on 23.06.2010 at 22:35

    У меня на машине только одна сетевая, она и в инет смотрит и сеть заглядывает. Как быть в этом случае?

  38. Олег left a comment on 24.06.2010 at 21:21

    Спасибо вам огромное за такую позновательную статью . Настроил не сразу ))) аж с 4го раза , и то по своеей тупости + вы не дописали что на машине (клиенте) в днс нужно прописать днски хотябы гугла (8.8.8.8 или 8.8.4.4) . СПасибо вам огромное еще раз !!!

  39. Иван left a comment on 02.07.2010 at 02:15

    очень полезная статься, но у меня немного другая ситуация: есть кпк PALM tungsten T5, и нужно раздать на него интернет через bluetooth . сильно ли изменится алгоритм действий по сравнению с вышеизложенным? извиняюсь за вопрос возможно не по теме

  40. Сергей left a comment on 06.07.2010 at 14:06

    Спасибо за статью, все настроил, все работает, кроме одного: не могу зайти на msn.com, microsoft.com, не могу подключиться к messenger. Может что подскажете по данному случаю.

  41. Tauri left a comment on 06.07.2010 at 16:16

    Спасибо большое за толковую статью! 🙂 Заработало на раз. Может, подскажете, как настроить VPN туннель между двумя серверами Ubuntu (site-to-site)? Или где можно описание найти вроде написанного вами? Спасибо заранее!

  42. liysha left a comment on 29.07.2010 at 15:35

    Блин.. настроил все как в этой статье и в итоге ничего. Сеть работает а инет не раздается (Ubuntu 10.04)/ Помогите….

    • info left a comment on 30.07.2010 at 18:57

      liysha, инструкция рабочая, проверена неоднократно. Пробуйте снова, возможно где-то ошиблись. В любом случае дистанционно без всякой информации помочь не сможем, изучайте логи и сообщения программ об ошибках – если не разберетесь, пишите их сюда, посмотрим, может сможем чем помочь.

  43. overnight left a comment on 01.08.2010 at 06:17

    Спасибо за инструкцию. Я, правда, уже разобрался, но до этого сутки читал форумы в которых основная инструкция: “Уже сто раз спрашивали – пользуйтесь поиском”. =(
    Хорошо, что остались люди с человеческим отношением к другим. 🙂

  44. liysha left a comment on 03.08.2010 at 09:15

    Все заработало…..Огромное СПАСИБО за эту инструкцию. Угробил неделю на настройку инета в сеть.. Только это тормозило полностью перейти на Ubuntu.

  45. Юрий left a comment on 05.08.2010 at 11:49

    Имею витую пару с внешним статическим IP. Настроил на компе Убунту Сервер. Через вторую сетевую подключил маршрутизатор по интерфейсу eth1 как в статье. На остальные ПК дальше Интернет должен раздавать маршрутизатор. Физически всё подключено, согласно статье настроено, из клиентского ПК пингуется и IP eth1 и статический внешний адрес eth0. Но для раздачи Интернету нужно в маршрутизаторе настроить WAN с параметрами: IP Address, Subnet Mask, Default Gateway, Primary DNS, Secondary DNS. Согласно статье заменил Default Gateway на 192.168.0.10, IP внешний оставил. При попытке сохранить такие параметры маршрутизатор в веб-интерфейсе выдаёт ошибку: Bad Gateway for WAN IP, please input another one. Тупо даже перебирал разные варианты. Маршрутизатор TP-Link TL-WR340G
    http://www.tp-link.com/support/download.asp?a=1&m=TL-WR340G
    Имеет опции Forwarding, Virtual Servers, Firewall, Static Routing и др. В чём может быть ошибка? Спасибо.

    • info left a comment on 06.08.2010 at 18:29

      Юрий, если я вас правильно понял, то делать какие-либо настройки в маршрутезаторе локальной сети вам не надо, достаточно чтобы он просто связывал все машины между собой. Все необходимые фунцкии для раздачи WAN в LAN будет выполнять ваш PC-шлюз.

  46. Slavik left a comment on 11.08.2010 at 14:52

    а не проще ли сделать так…?
    iptables -t nat -A POSTROUTING -o (внешний инет eth1 например) -j MASQUERAD
    iptables -P FORWARD ACCEPT
    gedit /etc/sysctl.conf – расскоментировать строку с forward
    команды iptables прописать в /etc/rc.local

    если делать по вашему все конечно работает, но зачем столько лишних дел когда можно обойтись двумя строчками?)

  47. Dmitriy left a comment on 14.08.2010 at 12:51

    Есть два компа, один маршрутизатор. На нем винда и убунта 10.04 под вмндой второй комп интернет видит. Под убунтой нет. Ни в какую. Ваше руководство которым я пытаюсь воспользоваться уже 30-ое наверно. И ни одно не помогает. Делаю все по инструкции. Все проверяю. Результат – ноль.
    Интернета на второй тачке как не было так и нет.
    Может я уже везде столько всего понапрописал что теперь только кувалда спасет. Может какие то настройки для автозапуска. сохранил не верные а теперь по верх этого в другие но в другие автозапускающие файлы? Вобщем у меня тоску вызывает линукс. А мне этого не хочется. Ай нид хелп.

  48. Dmitriy left a comment on 14.08.2010 at 15:04

    Криво написал.
    два компа
    pc1: winXP or Ubuntu 10.04
    pc2: winXP
    если первый комп подминдой то второй видит инет, если под убунтой то ничего.

  49. info left a comment on 14.08.2010 at 16:15

    Dmitriy, в этой статье описана настройка на компьютере gateway, а не доступа в интернет.
    Для настройки доступа к интернету рекомендуем вам не трогать конфигурационных файлов, а сделать все через графический интерфейс программой NetworkManager.

  50. Gregory left a comment on 17.08.2010 at 19:38

    Добрый день! Большое ВАМ спасибо. это единственный путь который дал результат из моего опыта. провел целую неделю в поисках. переустанавливал Ubuntu 10.04 server раз 7. хотел было искать что-то другое. Сделал всё по вашей статье и случилось чудо (для меня). очень вам благодарен.

  51. Сергей left a comment on 22.08.2010 at 14:22

    sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward”
    работает только до ребута системы.
    Что бы не писать каждый раз ее удобно прописать в описанный здесь же /etc/sysctl.conf строчку net.ipv4.ip_forward = 1 и сохранить 😉

  52. Andrey left a comment on 31.08.2010 at 12:16

    Спасибо за статью! Только у меня проблемма. Интернет работает, а вот если я хочу прикрепить фаил к письму, то через данный шлюз не прикрепляет, или неотправляет почту. Как решить проблемму?

    У меня все просто провайдер отдает статический адресс, маску, шлюз, днс.

    И у меня сеть на 20 машин с некими параметрами сети
    192.168.0.Х

    В чем проблемма?

  53. F1RST left a comment on 11.09.2010 at 12:10

    СПАСИБО ОГРОМНОЕ !!! ПОТРАТИЛ
    1. 2 МЕСЯЦА РАБОТЫ, МЛЯ
    2 20 БАЛВАНОК С ДИСТРИБУТИВАМИ
    3. КУЧУ НЕРВОВ

    В ИТОГЕ – ПОМОГ ТОЛЬКО ЭТОТ ФОРУМ )

  54. Igor left a comment on 18.09.2010 at 03:03

    Подскажите, пожалуйста, как раздавать интернет через Ubuntu на Windows XP

  55. Ярослав left a comment on 19.09.2010 at 19:25

    Спасибо за статью, всё очень доходчиво и понятно написано. Только одно “но”: интернет на компьютере клиента заработал только после того, как прописал DNS “8.8.8.8”. Работают все сайты, Skype, ICQ, Dropbox. Но! Google не работает! Это вообще как так? Это от того что DNS googleовский? Что делать?

  56. RusVAn left a comment on 21.09.2010 at 20:18

    На сервере eth0 смотрит в сеть провайдера, eth1 смотрит в домашнюю сеть, подключаю сервер через pppoe к интернету, создается в ifconfig ppp0, мне получается вместо eth0 указанного в статье выше нужно будет указать интерфейс интернета ppp0 ?

  57. RusVAn left a comment on 21.09.2010 at 20:34

    Спасибо, все работает, eth0 – смотрит в сеть провайдера, eth1 – домашнюю сеть, ppp0 – создается при подключении к интернету с сервера через pppoe именно его указал как интерфейс, смотрящий в интернет и все заработало! Спасибо огромное ^_____^ довольная рожа.

  58. RusVAn left a comment on 21.09.2010 at 21:19

    Хм, на сервере стоит веб сервер, почему -то после всех манипуляций сайт потерял линк с базой данных, расположенной на этом же сервере 127.0.0.1:3306, после команд:

    iptables –flush
    iptables –table nat –flush
    iptables –delete-chain
    iptables –table nat –delete-chain

    Снова заработал сайт, как-то пока не до конца понятно что откуда растет, кстати, странная еще одна вещь, сайты типо ya.ru работают, а тот же гугл и многое другое не прогружается, хотя пинг проходит до них, чет совсем запутался в чем траблы :

  59. uchitel69 left a comment on 30.09.2010 at 03:46

    Спасибо!!!!!!! Всё заработало!!!!!!!!

  60. sedoy left a comment on 08.10.2010 at 16:40

    У нас 6 комп. подключены в локальную сеть .К моему компу подключен интернет через модем ,я подключил всех к интернету через -общий доступ к интернету в локальной сети. Как сделать доступ только 4 комп. ,но чтобы 6 комп. остались в локальной сети. Подскажите пожалуйста может есть такая программа

  61. ValeryVS left a comment on 23.10.2010 at 22:39

    Ранее настраивал раздачу инета в Ubuntu 9.10 по этой статье.
    Сейчас. Ubuntu 10.10 гружусь с лайва, dvd.
    Делаю все по инструкции, только, конечно не сохраняю на лайве то.
    На клиентском компе (как на XP, так и на Ubuntu 10.10) пингуется первый комп, пингуется ДНС провайдера, но не открываются стреници в браузере… кроме сервера статистики моего провайдера.
    В чем тут может быть проблема?

  62. ValeryVS left a comment on 23.10.2010 at 22:59

    Что-то появилось такое предположение, что нужно что-то проверить в настройках модема… может там DNS нужно указать точно…
    Хотя сам лайв 10.10 принимает инет, и Win7 установленная на этом же компе принимает и передает… так что… вряд ли.

  63. ValeryVS left a comment on 23.10.2010 at 23:01

    This information reflects the current status of your DSL connection.
    LAN IP Address: 192.168.1.1
    Primary DNS Server: 192.168.1.1
    Secondary DNS Server: 192.168.1.1

    вот это меня смущает
    P.S. коменты бы объединить 🙂

  64. ValeryVS left a comment on 25.10.2010 at 20:27

    Перенастроил инет через pppoeconf вместо networkmanager’а. Заработало. Может дело в MTU параметре… ограничить до какого-то значения вроде 1460 и networkmanager тоже начнет правильно подключать инет для передачи. Проверю как-нибудь, донастрою остальное в системе.

  65. Nikolaitlt left a comment on 26.10.2010 at 15:36

    Спасибо большое!!! Сделал как написано – всё работает как часы! 🙂

  66. valeriy left a comment on 31.10.2010 at 18:34

    Таким людям надо ставить памятники! Спасибо, работает! Не мешало бы пару строк добавить о просмотре статуса iptables и на каких уровнях загрузки активен или пассивен.

  67. Дмитрий left a comment on 10.11.2010 at 23:18

    помогите пожалуйства настроить раздачу интернета по схеме USB модем – убунту 9 – Wi Fi

  68. agerov left a comment on 15.11.2010 at 23:24

    Доброго времени суток. Огромное спасибо за подробную статью. Настроил, все заработало. Еще четыре компа получают интернет. После перезагрузки все слетело. Думал, что не цепляет iptables, но как выяснил позже, слетает IP адрес карты, смотрящей в домашнюю сеть.
    Провайдер eltel, настраивал с помощью “sudo pppoeconf”

    Что можно сделать..? Иногда приходится перезагружать машину, и нет желания каждый раз прописывать команду “sudo ifconfig eth1 192.168.0.1”

    Файл: /etc/network/interfaces

    auto lo
    iface lo inet loopback

    auto dsl-provider
    iface dsl-provider inet ppp
    pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
    provider dsl-provider

    auto eth1
    iface eth1 inet manual
    pre-up iptables-restore < /etc/iptables.up.rules

  69. Иван left a comment on 16.11.2010 at 22:09

    помогите пожалуйства настроить доступ к интернету на клиенте. Стоит сервер ubuntu все настройки произведены. Подключил ноутбук к локальной сети а доступа к интернету нет.

  70. federk left a comment on 17.11.2010 at 20:27

    2agerov: пропиши в interfaces адреса руками, если и после этого настройки слетают – то удали пакет network-manager

    2Иван: пропиши на клиенте ip адрес, gateway (шлюз, который настраивал) и dns – чтобы раздавать все это автоматически необходима настройка dhcp.

  71. Иван left a comment on 19.11.2010 at 12:44

    federk. dhcp настроена так что всем клиентам автоматически всё раздается. Стоит несколько компов на них инэт есть а на моём ноуте нет.
    Что только не делал, потом в итоге добавил в dhcp мак адрес ноута присвоил фиксированный адрес ноут его видит, но инэта так же нет

  72. federk left a comment on 22.11.2010 at 14:05

    2Иван: а ping 8.8.8.8 проходит?
    dhcp сервер какой шлюз клиентам разадет? провайдера или твой?

  73. SunSet left a comment on 25.11.2010 at 15:56

    Здравствуйте.
    Система Debian 5, минимальный набор при установке.
    Все делалось по этой статье, инет появляется на 2 машины, но после перезагрузки не работает на клиенском пк, хотя iptables -L показывает, что правила сохранены. Чтобы снова “поднять” инет, нужно обязательно очистить таблицу через
    iptables –flush
    iptables –table nat –flush
    iptables –delete-chain
    iptables –table nat –delete-chain
    а потом снова ввести все правила. Без очистки не хочет работать. Как заставить автоматом “подниматься” инет после перезагрузки? Может, в автозагрузку как-нить все это дело оформить, но не знаю как нужно.

  74. Gradusnick left a comment on 28.11.2010 at 15:44

    Спасибо)) Все заработало))) Теперь хочу чтобы айпишник еще по DHCP выдавался))) а вопрос со шлюзом решен и это здорово)))

  75. Андрей left a comment on 01.12.2010 at 16:15

    У меня странная ситуация получилась. Шлюз даёт интернет только на одну пользовательскую машину. подключаюсь к нему 2-й машиной – инета на ней нет. хоть ты тресни.. в чём может быть косяк?

  76. info left a comment on 03.12.2010 at 10:41

    SunSet: да, попробуйте сделать скрипт и добавить в автозагрузку: http://oss-it.ru/171

    Андрей: Машины находятся в одной подсети? Пинг проходит между ними? Если первую отключаете – на вторую интернет приходит? Если нет – то скорее всего дело в настройках второй машины.

  77. Nikolas left a comment on 18.12.2010 at 00:58

    у меня проблема с настройкой шлюза на Ubuntu 10.10, делаю все как написано в вашей статье, в interfaces ничего само не прописывается только lo есть. а как руками пропишу, eth0 и eth1 пропадают после перезагрузки, не прописываю, инет на 2-ой машине появляется, но после перезагрузки все слетает (как писали здесь не раз). перепробовал разные варианты, ничего не помогает, посоветуйте что-нибудь)

    • info left a comment on 22.12.2010 at 11:48

      Nikolas: на самом шлюзе сетевые настройки могут быть прописаны в NetworkManager (GUI-утилита, по-умолчанию настраивает сеть в Ubuntu) или в файле interfaces (как описано у нас в статье). Вам надо выбрать или тот, или другой вариант, а не пытаться совместить оба.
      Если решите остановиться всеже на Network Manager’е, то скрипт авто-поднятия настроек iptables минуя interfaces можно создать подобным образом: http://oss-it.ru/171

  78. Alexandr left a comment on 23.12.2010 at 14:54

    если к такому шлюзу прибавить DHCP, будет ли работать для сети в 50 компов? Как этот шлюз связать со сквидом?

  79. Mickle left a comment on 27.01.2011 at 14:15

    спасибо…нормальный код для iptables нашел только здсь

  80. Александр left a comment on 04.02.2011 at 16:19

    Прошу помочь.
    После настройки iptables заработал инет везде, но интересный факт:
    аккаунт qip в самом infiume на клиентских машинах не работает при том, что аккаунты icq в нем же загружаются и сайт qip не грузится именно при переключении на этот настроенный шлюз.
    Ответы на подобные вопросы не помог. Может вы проясните. Спасибо.

  81. Владимир left a comment on 06.02.2011 at 15:15

    Сделал локальную сеть, первый комп видит второй, а второй не видит первый (при пинге выдаёт – превышен интервал ожидания для запроса). Что делать?

  82. Slenk left a comment on 11.02.2011 at 18:19

    Огромное спасибо, весь инет облазил, заработало только по этому мануалу)

  83. Андрей left a comment on 15.02.2011 at 09:55

    Здравствуйте подскажите пожайлуста. Как можно настроить компьютер чтобы на нём распологался мой сайт? Чтобы другие пользователи сети интернет могли попасть на мой компьютер.

    • info left a comment on 15.02.2011 at 13:32

      Андрей: установите веб-сервер, к примеру, apache. Файлы своего сайта кладите в /var/www

  84. Юрис left a comment on 17.02.2011 at 00:53

    Спасибо!Работает,только после перезагрузки приходится в терминале настраивать iptables.Имеется две карточки-вайрлес (wlan0)и ethernet(eth0).Инет приходит по вай-фай на машину с линуксом и передаётся на ноут по кросс-овер.Так в документе interfaces такой wlan0 даже не присутствует.В папке network присутствует только какой-то скрипт и док interfaces.Линукс убунту 10.10.

    • info left a comment on 18.02.2011 at 00:11

      Юрис: если сеть у вас настроена через Network Manager, то скрипт авто-поднятия настроек iptables минуя interfaces можно создать подобным образом: http://oss-it.ru/171

  85. Андрей left a comment on 25.02.2011 at 11:51

    У организации сетка S1 подключаются к инет через аутентификацию, у меня отдельная сеть S2 хочу дать инет своим пользователям через Ubuntu 10.10 Server у которого eth0 через аутентификацию подключается к инету, а eth1 подключен к моей сети, Настроил выше указанным образом Ubuntu 10.10 Server, но ни с одного компа кроме сервера выйти в инет не могу. Раньше стоял Ubuntu 10.04 и squid инет работал но не проходили https соединения, решил попробовать iptables и вот ничего не получается. Скажите в чем может быть проблема пожалуйста?

    • info left a comment on 27.02.2011 at 12:21

      Андрей: не могу ответить на ваш вопрос, недостаточно данных. Какую аутентификацию вы имеете ввиду?
      Если интернет поступает и работает на сервере через eth0, то рекомендую обнулить таблицы iptables и попробовать еще раз более внимательно – должно работать.

  86. Андрей left a comment on 28.02.2011 at 14:06

    iptables я обнулял и делал все по шагово раза 4. Скажите пожалуйста а не может ли быть проблема в том что адрес eth0 (инет) у меня статический и не корректно отрабатывает вот эта строчка:
    sudo iptables -A POSTROUTING -t nat -j MASQUERADE
    и если это так то что нужно прописать чтобы работало со статическим внешним ip?

  87. Николай left a comment on 06.03.2011 at 05:45

    Организовал шлюз на машине Linux Mint 9 Росинка на базе Ubuntu 10.04.
    настроил по вашим рекомендациям. Интернет раздает до перезагрузки системы. Дошел до места sudo sh -c “iptables-save > /etc/iptables.up.rules”
    в файле /etc/network/interfaces пробую прописывать для автозагрузки, В этом файле по уммолчанию прописана петля
    auto lo
    iface lo inet loopback
    дописываю
    auto eth1
    iface eth1 inet manual
    pre-up iptables-restore < /etc/iptables.up.rules
    но после загрузки все сетевые карты отключаются совсем
    Может в Росинки не в это файл надо прописывать
    Если можно то ещё для меня как правильно организовать автозапуск в LM9 Росинкa

    • info left a comment on 10.03.2011 at 10:55

      Николай, ответ на ваш вопрос находится в коментарии 89 к этому посту.

  88. ERT left a comment on 25.04.2011 at 11:13

    Здравствуйте. Сделал все по вышеописанному и максимум, чего добился – это работоспособность ICQ с машин в локальной сети. Больше ничего не открывается. В чем проблема? Спасибо.

    • info left a comment on 13.05.2011 at 13:16

      ERT, скорее всего у вас некорректно указаны или не указаны вовсе DNS.

  89. Dima left a comment on 15.05.2011 at 00:43

    Настроил по вашей инструкции,но на ноуте в вин 7 пропадает нет.Что может быть за ошибка?

    • info left a comment on 16.05.2011 at 16:25

      Dima, недостаточно данных чтобы ответить на ваш вопрос.
      Подробно опишите вашу проблему, что проанализировать и найти причины.

  90. Ruslan left a comment on 06.08.2011 at 20:16

    Здравствуйте.

    Есть локальная сеть через которую выхожу в интернет. Интерфейс eth0. Хочу сделать AP wi-fi которая создаёт другую сеть (домашнюю)
    Хочу выдавать всем устройствам wi-fi статический IP и подключатся к точке доступа, через которую выходить в интернет.

    eth0 настраиваю так:


    ifconfig eth0 192.168.0.185 netmask 255.255.248.0 hw ether 00:25:22:39:ae:a5
    route add default gw 192.168.0.30

    Добавляю в /etc/resolv.conf dns:

    echo "nameserver 195.95.139.18" >> /etc/resolv.conf

    Интернет появляется.

    Есть интерфейс wi-fi wlan0.
    Интерфейс wlan0 настраиваю как точку доступа при помощи hostapd

    /etc/hostapd/hostapd.conf

    interface=wlan0
    driver=nl80211
    ssid=MyAp
    country_code=RU
    hw_mode=g
    channel=5

    macaddr_acl=1
    accept_mac_file=/etc/hostapd/hostapd.accept

    после поднятия hostapd, ifconfig выдаёт:


    eth0 Link encap:Ethernet HWaddr 00:25:22:39:ae:a5
    inet addr:192.168.0.185 Bcast:192.168.7.255 Mask:255.255.248.0
    inet6 addr: fe80::21b:38ff:fecb:f33a/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:2585536 errors:1 dropped:102 overruns:0 frame:1
    TX packets:2702510 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:354029473 (354.0 MB) TX bytes:2920203702 (2.9 GB)
    Interrupt:42 Base address:0x2000

    lo Link encap:Локальная петля (Loopback)
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:407538 errors:0 dropped:0 overruns:0 frame:0
    TX packets:407538 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:13450614 (13.4 MB) TX bytes:13450614 (13.4 MB)

    mon.wlan0 Link encap:UNSPEC HWaddr 00-1F-3A-0D-8C-B1-30-30-00-00-00-00-00-00-00-00
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:22 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:1544 (1.5 KB) TX bytes:0 (0.0 B)

    wlan0 Link encap:Ethernet HWaddr 00:1f:3a:0d:8c:b1
    inet6 addr: fe80::21f:3aff:fe0d:8cb1/64 Scope:Link
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:137601 errors:0 dropped:0 overruns:0 frame:0
    TX packets:199787 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:13853704 (13.8 MB) TX bytes:242239576 (242.2 MB)

    Назначаю интерфейсу wlan0 ip-адрес:


    ifconfig wlan0 10.0.0.1/24

    После чего делаю настройки iptables:


    iptables -A FORWARD -i eth0 -o wlan0 -s 10.0.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
    iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A POSTROUTING -t nat -j MASQUERADE

    Далее на другом ПК настраиваю сеть wi-fi:
    ip:10.0.0.2/24
    gw:10.0.0.1
    dns: 195.95.139.18

    К точке доступа подключается. Пинг на 10.0.0.1 и 192.168.0.185 идёт. Но интернета нет…

    Может что-то упустил.
    Что может быть не так?

  91. Михаил left a comment on 30.08.2011 at 12:28

    “Либо, это можно проделать всего одной командой:
    sudo ifconfig eth1 192.168.0.10
    Эта команда самостоятельно настроит вашу сетевую карту eth1 на использование статичного айпи-адреса, и самостоятельно пропишет описанные выше настройки в файл /etc/network/interfaces”

    Эта команда ничего в этот файл не пишет. Она присваивает IP только до перезагрузки.

  92. Terza left a comment on 06.09.2011 at 11:41

    Спасибо все заработало, неплохо еще бы добавить какой нибудь кэширующий dns-сервер. У меня без dnsmasq не захотел денеэсить. Там всей настройки: sudo apt-get install dnsmasq

  93. Edward left a comment on 08.10.2011 at 21:29

    Ваще верняк! Спасибо за инструкцию!

  94. tatar left a comment on 20.12.2011 at 12:06

    А я вот тут http://school-adminlinux.blogspot.com/ прочитал мне помогло пока работает

  95. Алексей left a comment on 20.01.2012 at 23:10

    У меня проблема….. помогите….. Упал шлюз. Все дело в том что я инет могу раздать локальным машинам и виндой, но, есть один момент! У меня два входящих канала, один зашифрованный другой нет, их надо преобразовать в один. И раздавать по одному кабелю!

    • info left a comment on 24.01.2012 at 17:14

      Алексей, если хотите чтобы вам помогли – то более конкретно формулируйте проблему. Из вашего описания не ясно каким ПО вы пользуетесь и в чём конкретно состоит проблема.

  96. akmal85 left a comment on 01.06.2012 at 07:34

    здравствуйте… настроил всё по мануалу.. вроде получилось но проблема такова: сетевая карта (етх1) смотит в локальную сеть, сетевая карта (етх0) смотрит на провайдера… при подключении всех проводов спустя минуты две появляеца локалка (проверено методом пинга) а вот инет никак не появляеца (на серваке!!!) хотя я пингую до точки доступа и ДНС все видит… в чом может быть трабл???… помогите…. до этого был такой трабл лечился методом тыка на сетевое подключение “в трее”….изначально ставил дистрибутив убунту 10,04, но он попросил обновления до 11 версии… после обновления эта менюшка “в трее” пропала… теперь я не знаю куда ткнуть штоп подключение произошло!!!!…. ПОМОГИТЕ….

  97. budko left a comment on 27.06.2012 at 14:43

    Добрый день, настроил как написано выше, всё работает, у всех есть инет, но надо пробросить порт для вэб сервера, воспользовавшись этой статьёй http://oss-it.ru/217 получилось что с интернета обращаясь на мой ip (естественно внешний) попадают на вэб сервер, но с локальной сети если я обращаюсь на внешний ip не пропускает!

  98. Николай left a comment on 10.07.2012 at 16:31

    Добрый день. Подскажите пожалуйста у меня вот такая проблема прочитал вашу тему спасибо. Но у меня не получилось немного по поподробне сервер ubuntu подключен к создан домен вот его настройки
    auto eth0 (от сюда я получаю инет)
    iface eth0 inet static
    adress 192.168.101.247
    netmask 255.255.255.0
    gateway 192.168.101.1

    auto eth1 (а здесь его нету)
    iface eth1 inet static
    adress 10.10.8.1
    netmask 255.255.255.0
    network 10.10.8.0
    broadcast 10.10.8.254

    Подскажите что я не так сделал?

  99. SergeyMihalich left a comment on 02.02.2013 at 15:30

    Автору большое уважение. Прекрасная статья. Все получилось со второго раза (первый раз не сбрасывал iptable, не прописал одну строчку и сделал одну ошибку). Главное выполнять все по инструкции. Хочу дать только пару замечаний по статье:
    1) Значения network и broadcast будут зависеть от вашего адреса. То есть, если ваш локальный ip — 10.0.0.10, то network и broadcast будут 10.0.0.0 и 10.255.255.255 соответственно. – тут, помоему ошибка. должно быть так: то network и broadcast будут 10.0.0.0 и 10.0.0.255
    2) Хотелось бы увидеть описание блок:
    sudo iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack –ctstate NEW -j ACCEPT
    sudo iptables -A FORWARD -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT
    sudo iptables -A POSTROUTING -t nat -j MASQUERADE
    А то страшно выполнять то, чего вообще не понятно.

  100. igor left a comment on 16.02.2013 at 19:52

    можно мне спросить помощи у общественности.
    Ситуация в офисе такая. Входит кабель инета на вай-фай роутер, клиент Убунту 12.04 получает через юсб тот самый инет, при этом его сетевая не задействована вовсе. Рядом к этому клиенту ставят другой комп на той же самой Убунте, но соединяют оба компа через обжатый Лан-провод. Оба клиента получают дшсп в автомате, оба работают с сервером через Реммину (обязательное условие)
    Не могу раздать интернет с клиента 1 (ЮСБ вай-фай интернет получает, через свою сетевую должен отдать клиенту 2).
    Вводные данные такие:
    клиент1 – 192,168,0,109, маска 255,255,255,0 шлюз 192,168,1,1, броадкаст 192,168,0,255, днс 77,121,244,40 на его сетевой ставлю такие параметры вручную – 192,168,1,1, маска 255,255,255,0
    клиент 2 -лан 192,168,1,2, маска 255,255,255,0, шлюз 192,168,1,1, днс 192,168,1,1
    спасибо за помощь

  101. ihomos left a comment on 02.04.2013 at 10:59

    в /etc/network/interface описана только петля. о eth0 и eth1 там не слова, как настроить автозагрузку параметров?

  102. Александр left a comment on 22.02.2016 at 19:59

    Большое спасибо. Действительно все получилось. Правда с моими ip адресами не работает, но если использовать ip адреса указанные в примере – все получается. Пойду искать косяк в своих айпишках. Спасибо за статью!

Leave a Reply