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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Простейшая настройка раздачи интернета через K\Ubuntu  (Прочитано 30160 раз)

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

Оффлайн Ева Манштейн

  • Автор темы
  • Активист
  • *
  • Сообщений: 462
  • Bitte, lasst die linux leben!
    • Просмотр профиля
Опробовано на 10.04 для систем с обычной выделенкой и статическим IP от провайдера. Для всяких ADSL-модемов и прочего ppoe-pptp не пробовалось, кому надо именно такой случай - ищите другую инфу. Или переспрашивайте в этой теме, возможно найдется гуру, который вам тут ответит. Чистая раздача интернета, своего рода аналог "Общего подключения к интернету" в оффтопике, то есть никаких настроек файерволла или учета траффика тут не приводится. Равно как и прокси. Для тех. кому нужно просто раскидать интернет по локалке без выкрутасов.
Делаем следующее:

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

ifconfig
Она выдаст список работающих в данный момент сетевых интерфейсов.  Как правило, это 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.1
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 соответственно.

После этих изменений перезапустите 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, то просто измените первую строку соответствующим образом.
Теперь для конфигурации 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


После этого ваш Ubuntu-шлюз готов к работе. Можете настраивать клиентские машины. В описанном случае для них gateway будет 192.168.0.1
Если все внесенные вами изменения работают корректно и вы желаете внести эти настройки в автозагрузку (а именно, вышеприведенные настройки 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 static
pre-up iptables-restore < /etc/iptables.up.rules


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

З.Ы. Добавлю от себя что network-manager лично я истребляю сразу же. Тому, кто им пользуется - надо подстраиваться под использование этого чудо-инструмента.
« Последнее редактирование: 02 Августа 2012, 15:15:18 от Ева Манштейн »

Оффлайн Sam Stone

  • Старожил
  • *
  • Сообщений: 1129
    • Просмотр профиля
Цитировать
Итак, допустим через eth0 вы получаете интернет (например через adsl-модем по протоколу ppp)
Возможный фейл: либо адсл модем работает роутером и раздает инет сам, либо рррое поднимается на компе и тогда надо смотреть на интерфейс ррр0 (когда инет подключен). Если только это не УГ железка с одним LAN портом.
Цитировать
Теперь потребуется опознать в какой из них поступает интернет, а из какого «выходит». Проще всего это сделать по их ip-адресам.
Щас набежит школота и будет спрашивать "а как?".
(Нажмите, чтобы показать/скрыть)
Ну и до кучи добавить ссылку http://www.opennet.ru/docs/RUS/iptables/

Цитировать
sudo iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
1) не попутаны ли тут eth0 и eth1 местами?..
2) не помню, нужны ли вообще эти правила, если политики по умолчанию ACCEPT (а проверять лень ^__^ )
Jellyfish 5.19.0-43-generic

Оффлайн Ева Манштейн

  • Автор темы
  • Активист
  • *
  • Сообщений: 462
  • Bitte, lasst die linux leben!
    • Просмотр профиля
Возможный фейл: либо адсл модем работает роутером и раздает инет сам, либо рррое поднимается на компе и тогда надо смотреть на интерфейс ррр0 (когда инет подключен)
Имелся ввиду случай именно когда модем в роли роутера. Дописала.

eth0 и eth1 не попутаны :-) У меня имненно так и настроено (правда никаких adsl модемов нет, инет идет тупо по проводу без всяких VPN и раздается десктопом на ноут и КПКшу с ВыньМобайл)

Щас набежит школота и будет спрашивать "а как?".

Чесс говоря даже не думала, что для человека, который рискнул усесться за Linux (любой, хоть триста раз юзерфрендли) будет сложным понять по IP, какой из них внутренний, а какой внешка. Тому, кто такое не различает с 1 взгляда настраивать NAT думаю смысла нету. Да  какой к бесу NAT, такие даже  в оффтопике не смогут понять, какое из соединений надо расшарить, чтоб общий тырнет был:-)
« Последнее редактирование: 07 Августа 2010, 15:30:50 от Ева Манштейн »

Оффлайн ua24

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
я застрял на моменте где надо поменять настройки через судо  :-\
поменял потом ввел
ua24@ua24-ubunt:~$ sudo /etc/init.d/networking restart
[sudo] password for ua24:
 * Reconfiguring network interfaces...                                                                                                                                           Ignoring unknown interface eth1=eth1.
                                                                                                                                                                          [ OK ]
ua24@ua24-ubunt:~$ sudo /etc/init.d/networking restart
 * Reconfiguring network interfaces...                                                                                                                                    [ OK ]

ввожу ифконфиг а у меня ничего и не поменялось :idiot2:

Оффлайн Demeo

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Имелся ввиду случай именно когда модем в роли роутера. Дописала.

В таком случае проще воткнуть модем с свич и не парить мозги.

Оффлайн Ева Манштейн

  • Автор темы
  • Активист
  • *
  • Сообщений: 462
  • Bitte, lasst die linux leben!
    • Просмотр профиля
я застрял на моменте где надо поменять настройки через судо  :-\
поменял потом ввел
ua24@ua24-ubunt:~$ sudo /etc/init.d/networking restart
[sudo] password for ua24:
 * Reconfiguring network interfaces...                                                                                                                                           Ignoring unknown interface eth1=eth1.
                                                                                                                                                                          [ OK ]
ua24@ua24-ubunt:~$ sudo /etc/init.d/networking restart
 * Reconfiguring network interfaces...                                                                                                                                    [ OK ]

ввожу ифконфиг а у меня ничего и не поменялось :idiot2:


З.Ы. Добавлю от себя что network-manager лично я истребляю сразу же. Тому, кто им пользуется - надо подстраиваться под использование этого чудо-инструмента.

Все было описано для конфигурации с ручной настройкой интерфейсов, без network-manager. Плюсом ко всему настройки eth1, которые я вижу на скрине (в interfaces), мягко говоря непонятные.
« Последнее редактирование: 17 Августа 2010, 23:09:15 от Ева Манштейн »

Оффлайн theFlame

  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Хотел спросить у того, кто понимает.
Слушайно, эти действия
Цитировать
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
не создадут проблемы в дальнейшем при установке MySQL, postfix, pure-ftpd, перенастройке hosts и прочего? Почему-то мне кажется, что такой метод рассчитывается только если больше никаких других функций устройство выполнять не будет. Или это нужно делать в последнюю очередь после настройки всего сервака. Или я ошибаюсь?

Кстати, вот случайно нашел оригинал материала )) https://help.ubuntu.com/community/Internet/ConnectionSharing
Я наверно уже весь интернет по этой теме облазил ))
« Последнее редактирование: 24 Августа 2010, 22:05:34 от theFlame »

Оффлайн Derman

  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Сделал все, как тут описывалось. Интернет работает и на сервере и на клиенте,НО в терминале выдает следующее содержимое:
(Нажмите, чтобы показать/скрыть)
Собственно интересует последняя строчка, что она означает, ошибка ли это? Стоит ли исправлять, если да то как?

Оффлайн DebianBoy

  • Активист
  • *
  • Сообщений: 304
    • Просмотр профиля
Это не ошибка, система таким образом удостоверяется, все ли интерфесы подняты, чтобы потом примонтировать сетевую файловую систему. Просто не обращай внимание.
Debian и только Debian :)

Оффлайн Derman

  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Это не ошибка, система таким образом удостоверяется, все ли интерфесы подняты, чтобы потом примонтировать сетевую файловую систему. Просто не обращай внимание.
Понял, спасибо большое за ответ.

Оффлайн Toxa.ru

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Знаю что глупый вопрос, но возможно ли организовать раздачу и получение инета по одной сетевой карточки?
то есть я получаю инет по PPPoE(Эр-Телеком) и хочу раздать его на ноут через D-link DES-1005D

Оффлайн Derman

  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Возможно ли реализовать данный метод для PPPoe? Провайдер Эр-телеком. Необходимо, чтобы К1 (с ОС Debian) отдавал интернет К2 (с ОС WindowsXP). Приведите пожалуйста пример конфига interfaces. Только, надо чтобы сеть поднималась автоматически, как для eth0 (прием интернета), так и для eth1 (отдача интернета). Или нужны какие то дополнительные пакеты/программы?

Оффлайн $oft

  • Активист
  • *
  • Сообщений: 273
    • Просмотр профиля
когда же в NM впилят раздачу интернета!?

или как сделать тоже самое через НМ
Yii2/Laravel + JS/vue fullstack web developer
@evetrov telegram

Оффлайн Ева Манштейн

  • Автор темы
  • Активист
  • *
  • Сообщений: 462
  • Bitte, lasst die linux leben!
    • Просмотр профиля
когда же в NM впилят раздачу интернета!?
сомневаюсь что сделают, они сам НМ сколько времени до ума доводили.
или как сделать тоже самое через НМ
ИМХО для гуевого НМ надо и использовать гуи. Попробуйте прицепить firestarter и настроить с его помошью.

Возможно ли реализовать данный метод для PPPoe? Провайдер Эр-телеком. Необходимо, чтобы К1 (с ОС Debian) отдавал интернет К2 (с ОС WindowsXP). Приведите пожалуйста пример конфига interfaces. Только, надо чтобы сеть поднималась автоматически, как для eth0 (прием интернета), так и для eth1 (отдача интернета). Или нужны какие то дополнительные пакеты/программы?
Это всего лишь настройка NAT, все что нужно - установленный iptables. Привести примеров с PPPoe не могу, т.к. не использую его. Толком даже не в курсе, как это делать (никогда не было надобности) . Надо бы инфу по ручной настройке interfaces под pppoe (если таковая есть) + настроить NAT под это дело. Возможно слегка изменив команды "под себя".

upd: https://help.ubuntu.ru/wiki/настройка_сети_вручную пункты Соединение PPPoE и Автоматическое подключение
Как я поняла, если настраивать с помощью pppoeconf  - NM не нужен и рулить сетью начинает interfaces. Посмотреть что в нем и настроить NAT в соответствии с.
« Последнее редактирование: 22 Ноября 2010, 17:40:31 от Ева Манштейн »

Оффлайн Мигель

  • Новичок
  • *
  • Сообщений: 34
  • NO WAR, MAKE LOVE!
    • Просмотр профиля
Всем привет! Такая проблема! Всё делал по рекомендациям, а в итоге не то что начал раздаваться, а пропал интернет вообще! Пропало DSL соединение

при вводе в консоли ifconfig выдаёт следующее

(Нажмите, чтобы показать/скрыть)
Твоя свобода заканчивается там, где начинается свобода другого человека!

 

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