LINUX.ORG.RU
решено ФорумAdmin

домашний шлюз в debian


0

0

Доброго времени суток. Помогите настроить интернет дома.

вот параметры сети на серваке:

auto lo
iface lo inet loopback

allow-hotpug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

eth0-выход в интернет через vpn соединение.
eth1-локальная сеть.

пробовал сделать следущее:

sysctl -w net.ipv4.ip_forward=«1»

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

iptables -A INPUT -i eth1 --source 192.168.0.1/24 --match state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth1 --destination 192.168.0.1/24 --match state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth1 --source 192.168.0.1/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 --destination 192.168.0.1/24 --match state --state ESTABLISHED -j ACCEPT

интернета на локальных машинках не появилось(шлюз и даже dns на сервак там прописаны)

Использовал вот эту: http://www.fatjoe.ru/ubuntu/shlyuz-v-internet-na-baze-debian-lenny-ubuntu-etc/ статью

подскажите что не так.

Хочешь просто пробросить инет в локалку? Может стоит воспользоваться arno-iptables-firewall и не мучать голову?

Deleted ()

Мы на прокси сидим, хоть это и пошло. Ничего не поделаешь злой провайдер

vertexua ★★★★★ ()
Ответ на: комментарий от Deleted

да, тут просто домашняя сеть на комп и ноут. Чем проще тем лучше. если можно ссылочку на хорошую статью дайте.

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

Он при установке сам все параметры спрашивает. Какие порты открыть и потом о том, раздавать ли инет, который интерфейс внешний, который внутренний.

Как это выглядит — 1ая ссылка в гугле: http://www.bible-mda.ru/soft/debian-4.0-firewall/debian-4.0-firewall.html (хотя тут для 4.0, но суть та же). Скриншоты можно поглядеть.

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

Не нужно забывать, что ни один файрволл не может дать 100% гарантии безопасности работы компьютера в интернете. Однако пренебрегать защитой файрволла нельзя. Надо сделать, все, от нас зависящее, чтобы затем уповать на милость Божию. «Если Господь не сохранит город, напрасно бодрствует страж» (Пс. 126:1).

Пипец. Смотрел бы сначала, на что ссылки даешь :)

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

не помогло. Вроде всё настроил, а инет на ноуте работать не хочет. Конечно можно основной pc ещё потестить(там бубнта 9.10), но думаю результат не изменится.

Есть ещё идеи почему не работает?

anonymous ()

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

замени eth1 на eth0

192.168.0.1/24

на 192.168.0.0/24

и если не выставлял полиси то впринципе разрешающие правила не нужны

выставь только

iptables -A FORWARD -p all -j ACCEPT

ну и echo 1 > /proc/sys/net/ipv4/ip_forward

wlan ★★ ()

И да, не забывай что при ребуте тачки настройки фуривола скидываются :)

оформляй в скрипт

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

Что стоит на компьютере на который надо раздать интернеты?

выхлоп route -n

выхлоп iptables-save

и трейсроут с конечного компьютера

ну и cat /proc/sys/net/ipv4/ip_forward

на paste.org

eth0-выход в интернет через vpn соединение

Разве VPN не ppp0?

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

>Что стоит на компьютере на который надо раздать интернеты?

Один PC-Ubuntu 9.10 другой ноут с Windows 7 в данный момент проверяю на винде.

Разве VPN не ppp0?

vpn=ppp0

и трейсроут с конечного компьютера

что это? а лучше сразу, как это сделать?

выхлоп route -n
выхлоп iptables-save

сейчас поставлю ssh и с бубунты запостю

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

если инет получаешь через ppp0 то его и нужно маскарадить

iptables -t nat -A POSTROUTING -p all -o ppp0 -j MASQUERAD

плюс разрешить форвардинг пакетов и поставить бит в /proc/sys/net/ipv4/ip_forward в 1, тогда все должно заработать

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

можно в ip-up, можно в /etc/networking/interfaces там есть опция pre-up в доках описано достаточно хорошо (/usr/share/doc/ifupdown/)

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

сдвинулось таки с мёртвой точки! оставленый без присмотра ping ya.ru начал работать хотя и с большими задержками, однако как только я закрыл терминал и попробовал попинговать снова «заданный узел не найден». трейсроут при правильном указании ip адреса ya.ru выдал мне 10 апишников 1-ым из которых был мой сервак. Однако FF и пр. программы инет не видят.

после ввода:

iptables -A FORWARD -i eth1 --source 192.168.0.0/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 --destination 192.168.0.0/24 --match state --state ESTABLISHED -j ACCEPT

ничего не поменялось.

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

allow-hotpug eth0 iface eth0 inet dhcp post-up pon myprovider post-up iptables -t nat -A POSTROUTING -p all -o ppp0 -j MASQUERAD post-up echo 1 > /proc/sys/net/ipv4/ip_forward down poff

будет правильно? down выполнится до отключения интерфейса?

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

Опять-таки, чтобы корректно завершить звонилку vpn до отключения eht0, лучше использовать pre-down. Это не принципиально, но иногда после некорректного завершения сервер vpn не пускает обратно некоторое время, или что-нибудь в таком духе.

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

> «заданный узел не найден». трейсроут при правильном указании ip адреса ya.ru выдал мне 10 апишников

DNS-ка накрылась, получается. Она пингуется хотя бы?

после ввода:


а куда правило маскарадинга делось уже?

melkor217 ★★★★★ ()
Ответ на: комментарий от Deleted

«сетевая» eth0 получает ip, dns и пр. через dhcp соединение с впн поднимаю командой pon myprovider далее появляется ppp0 через который ходим в интернет.

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

Ну так и я о чём. У меня так же было и внешняя arno-iptables-firewall понимает как ppp0, а не eth0. С eth0 не работало. По первости было неожиданно.

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

вообщем вот мои действия:

pon myprovider
iptables -t nat -A POSTROUTING -p all -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

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

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

я ставил arno сначала просто с их сайта при помощи скрипта установил не заработало вот сейчас поставил через apt, пришлось кучу пакетов с ним поставить в том числе и bind9, но толку никакого. Т.к. инет работает только если известен ip адрес. DNS сервер чтоли поднимать надо не пойму...

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

>у меня каким-то чудом работает тупое `iptables -t nat -A POSTROUTING -s 192.169.0.3 -j MASQUERADE` У меня тоже работало, пока провайдеров не стало 2! :D

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

bind9 и есть DNS сервер :)

я знаю. я про это и говорю что ещё его настраивать придётся. Это ведь не реально пользоваться интернетом который понимает только ip адреса.

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

>я про это и говорю что ещё его настраивать придётся.

В дебиане не придётся ничего настраивать. Приписать только 127.0.0.1 как ДНС в конфигах у себя и всё будет работать. Если это именно то, что тебе надо. Я так и делаю, что б не дёргать ДНСы провайдера, отличающиеся умом и сообразительностью.

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

На обычном десктопном локалхосте. Хотя когда к нему коннектятся через wifi компы, то используют как раз моей компьютер как DNS и работает.

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

C:\Users\***>ping ya.ru -t
При проверке связи не удалось обнаружить узел ya.ru.
Проверьте имя узла и повторите попытку.

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

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

На самом компе («основном»), где DNS поднят, работает?

Если да, то инфа не передаётся остальным компам о том, что DNS это ты. Либо DHCP сервер либо указать им напрямую. Для винды, соответственно, искать в панели управления.

Если нет... :)

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

Мне не пришлось с форвардом ничего делать.

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

для прекращения путаницы давай условимся:
сервак это сервак
остальные компы это клиенты

На серваке нету bind9. сервак не раздаёт айпишники(там нету dhcp сервера). На серваке eth0 получает адрес, dns и пр. по dhcp. Через ppp0 ходит в интернет. eth1 имеет адрес 192.168.0.1 и маску 24, больше настроек там нет.

У клиентов прописан шлюз 192.168.0.1, основной dns 127.0.0.1 альтернативный 192.168.0.1. Настройки вполне корректны?

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

>У клиентов прописан … основной dns 127.0.0.1

Если на них нет DNS, то это не работает.

альтернативный 192.168.0.1


(Если я это правильно понимаю) то т.к. серваке нет bind9, то это также не работает — на нём то нет DNS сервера. Тебе нужен тот адрес DNS'а, что получает сервер по DHCP.

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

>по DHCP

Или с чем там DNS'ы приходят (не помню уже :}).

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

Заработало таки! Спасибо за подсказку с dns! Пришлось открыть доступ ещё к сетке на eth0 и прописать dns этой сетки. Я даже боюсь думать насколько такой вариант опасен для не домашней сети. Тем не менее для тех кто столкнётся с такой же проблемой напишу инструкцию:

1. Установка связи с инетом:
в моём случае pon myprovider
2. iptables -t nat -A POSTROUTING -p all -o ppp0 -j MASQUERADE
3. iptables -t nat -A POSTROUTING -p all -o eth0 -j MASQUERADE
4. echo 1 > /proc/sys/net/ipv4/ip_forward

На клиентских машинках настройки:

шлюз: ip адрес вашего сервера

dns: dns сервер в сети eth0, узнаётся командой cat /etc/resolv.conf строка nameserver.

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

>думать насколько такой вариант опасен для не домашней сети

Поскольку в своё время мне показалось, что мануалом iptables убить можно, то не могу сказать (^ ^)

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

мануал по iptables херня по сравнению с тем же traffic control

wlan ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.