LINUX.ORG.RU

Настройка раздачи интернета на debian 9

 , ,


0

1

Пытаюсь настроить раздачи интернета на Debian 9. Раньше у меня всё работало, теперь видимо что-то делаю не так. Подключение идёт у меня через PPPOE, соответственно устанавливаю pppoeconf и настраиваю его дальше начинаю настраивать nano /etc/network/interfaces

The loopback network interface

auto lo

iface lo inet loopback

eth0 смотрит в сеть инетернета

allow-hotplug eth0

iface eth0 inet dhcp

eth1 смотрит в локальную сеть

auto eth1

iface eth1 inet static

address 192.168.1.1

netmask 255.255.255.0

broadcast 192.168.1.255

дальше настраиваю /etc/sysctl.conf

net.ipv4.ip_forward=1 убираю коментарий

дальше настраиваю nano /etc/rc.local

если используется pppoe (в другом случае эта строчка не нужна):

pon your-ppp-name

включаем nat:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -I FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu

Эту строчку удалять нельзя:

exit 0

При за грузке rs.local нужно запускать, так как он сам не запустится:

Создаём право на запуск:

chmod +x /etc/rc.local

Создаем сервис:

nano /etc/systemd/system/rc-local.service

[Unit]

Description=/etc/rc.local Compatibility

ConditionPathExists=/etc/rc.local

[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

StandardOutput=tty

RemainAfterExit=yes

SysVStartPriority=99

[Install]

WantedBy=multi-user.target

Включаем и запускаем его:

systemctl enable rc-local

systemctl start rc-local

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

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

работает, вписываю в rs.local перезагружаю компьютер, не раздаёт.

Из выше описанного, я сделал заключение, что по идее та сетевая карта, через которую проходит соединение с интернетом должен быть указан в rs.local, но раздавать так интернет не хочет, пробовал в ручную команду ввести

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

без результатно, но стоит при подключенным интернетом запустить команду

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

раздача интернета идёт, но команда в rs.local проходит раньше, чем запустится подключение к интернету и соответственно он не знает ещё соединения ppp0. Не пойму почему у меня не раздаётся по eth0 через который подключается ppp0. Раньше этот вариант у меня работал, не подскажите что я делаю не верно?

Ответ на: Re: Демо? от anonymous

Испытаю Debian 10 со временем

Ну в Debian 10 ещё учиться надо, времени нет, надо быстро собрать сервер интернета на раздачу. Со временем есть планы подключение второго провайдера, для отказаустойчивости и перебоев связи. Со временем буду переходить на Debian 10

marat-gabidullin ()
Ответ на: 5 Lenny? от marat-gabidullin

Re: 5 Lenny?

Если ты работал на Woodi 3-м, потом Etch 4-м, потом Lenny 5, потом был перерыв и только fedora, а потом решил попробовать Debian 7 в дулбуте с Fedora, то понял бы моё разочарование. 3-4-5 были относительно хороши, но после пробы 7 я долго плевался, у меня не только проброс сетей, у меня очень много мультимедиа, так вот с последней и ещё введением этих дурацких команд разрешения мультиархитектуры и.т.д. - это стало не то. Не люблю лишние телодвижения и когда система ставит то что я не хочу и потом мучаешься вычищая, а я тогда кроме KDE ничего не признавал. Но даже организация папок в /home по умолчанию, в 7-м меня убила… Про браузер iceweasel и почтовик icedove я даже говорить не хочу в 7-м. Ну и.т.д. Уже не поставишь минималку вообще и потом покомпонентно только нужное тебе лично, тянет всякое за собой. А в 3-4-5 я ставил чисто что мне нужно, потом alsaconf sys-v-init утилью чистил от ненужных сервисов, и пользовался сразу и без плясок половецких. С 7-го уже обломинго…

anonymous ()
Ответ на: Re: 5 Lenny? от anonymous

Debian без графической оболочки

Ни чего не могу сказать про графику Debian, не пользуюсь и не устанавливаю ни когда ни какую оболочку рабочего стола, для этого использую windows, в Debian работаю из командной строки. Для меня Linux это средство для заданных целей, у меня стоит ip-telephony, файловый сервер, в виртуальном сервере поддерживается openvpn для удалённого доступа, web-server, DynDNS и опять таки внешний ip-telephony, правда в сервере ip-telephony стоит web морда. А вот здесь тупанул и не получается расшарить интернет, я ставил керио, он как раз работает с такой системой несколько провайдеров и одна локалка, но мне она не подошла, во первых я огорчился что её нельзя устанавливать на флэшку, хотя в принципе можно её перенести, но встал другой вопрос у меня свыше 50 устройств работающих в организации, включая и wi fi, керио стал тупить по страшному, при чём стал тупить, когда стало превышать более 10 устройств. Может это связано с не лицензированной версией, но на лицензию средства мне не выделили, так что приходится поднимать всё своими силами.

marat-gabidullin ()
Последнее исправление: marat-gabidullin (всего исправлений: 2)
Ответ на: Debian без графической оболочки от marat-gabidullin

Re: Debian без графической оболочки

Да, понял. Возможно ты и прав. Скорее всего из-за не лицензионных. Но! Я вот бы подумал - а зачем тогда обязательно Debian? Есть и другие UNIX/Linux оболочки, не хуже подходящие для этого дела. Стоит их тоже рассмотреть. Может что-то из FreeBSD или «Опёнок» OpenBSD, хотя последний требует быть очень внимательным, но может оно и к лучшему. Да и Linux не мало, где можно установить/скомпилить только консоль и нужные компоненты, без мира. Сейчас подскажут спецы в этом деле конкретно, просто сегодня праздник и выходные у многих.

anonymous ()
Ответ на: Re: Debian без графической оболочки от anonymous

Проблема решена, частично :-)

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

marat-gabidullin ()

Я не мучаюсь с сервисами, а ставлю пакет iptables-persistent и прописываю все правила в /etc/iptables/rules.v4 и подгружаю их через iptables-restore. При ребуте он их сам загружает.

Проверь через systemctl что форвардинг ip между интерфейсами работает.

Логично маскарадить пакеты выходящие через pppoe интерфейс, у тебя же интернет через него, а не через ethernet напрямую.

skyman ★★ ()
Ответ на: А как на счёт моего вопроса? от marat-gabidullin

Там просили форматирование поправить, а то сложно понять, что делается, а что нет.

Лично я поломался на фразе:

Создаем сервис: nano /etc/systemd/system/rc-local.service

Зачем его создавать, если он по умолчанию идет в комплекте systemd:

/lib/systemd/system/rc-local.service

Правило iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE лучше добавлять через ppp-hook в каталоге:

/etc/ppp/ip-up.d

Oleg_Iu ()
Ответ на: комментарий от Oleg_Iu

/etc/ppp/ip-up.d/masq.ppp0:

#!/bin/sh
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

/etc/sysctl.d/50-forward.conf:

net.ipv4.ip_forward=1

PS Надо там сделать проверку цепочки с маскарадом, что бы не создавались новые при каждом переконнекте. Типа:

#!/bin/sh
iptables -t nat -C POSTROUTING -o ppp0 -j MASQUERADE || iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Oleg_Iu ()
Последнее исправление: Oleg_Iu (всего исправлений: 1)
Ответ на: комментарий от anonymous
deb http://archive.debian.org/debian/ lenny main contrib non-free
deb-src http://archive.debian.org/debian/ lenny main contrib non-free
deb http://archive.debian.org/debian-security/ lenny/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ lenny/updates main contrib non-free
deb http://archive.debian.org/debian-backports/ lenny-backports main contrib non-free
deb-src http://archive.debian.org/debian-backports/ lenny-backports main contrib non-free

Только ругается что GPG-ключей нет. Но всё ставится и работает. Для установи чего-либо из репозитория backports нужно добавить -t lenny-backports. Например там лежит новый GIT, новый GTK2 с Glib (нужен для Firefox и Palemoon). А для сборки Pidgin 2.12 понадобилось стянуть оттуда nss и nspr, которые были бэкпоритрованы из Squeeze. Каких-то новых вызовов Pidgin не нашёл... Прогу явно тестировали именно на Squeeze, потому что мне также потребовалось стянуть из бэкпортов Gstreamer 0.10.36 (чем ему, интересно, не нравился 0.10.20?).

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

О как. Хотя мне, например, pidgin нафиг не нужен и если в каком дистрибутиве он идёт по умолчанию, как и прочие мессенджеры и irc, то сношу нафиг. А так-то, не думаю чтоб ТС заинтересовал Lenny. Хотя и когда-то был хороший дистрибутив с KDE 3.5.10.

anonymous ()
Ответ на: комментарий от skyman

Да всё так, но...

Не знаю как, но такая шняга раньше работала, я указывал на интерфейс сетевой карты, которая смотрела в сторону провайдера и при соединение ppp0 трафик отправлялся в локалку, может после обновления Debian 9 что-то изменилось. Действительно, можно прописать всё в iptables на прямую, а не создавать rc.local, в принципе я это уже пробовал и результатов не дало, при перезагрузке интерфейс ppp0 поднимается не сразу и поэтому он его не знает, в журнале выдаёт ошибку. А вообще у меня есть ещё один провайдер, который я должен подключить как резервный и поэтому мне нужно будет ещё дописать скрипт, который будет проверять оба сети и в случае отказа первого переключаться на второй.

marat-gabidullin ()