LinuxForum.Fans
Тема

Dns+dhcp+wifi

Автор: mex 58 сообщений 14174 просмотров
#132601

Всем привет! С появлением лишнего системника в квартире, появилась возможность (а самое главное это дикое желание) организовать сеть с центральным файло хранилищем, поднять тут же на этой же машине dhcp и dns чтобы избавится от проводов и мои ноутбуки (на одном установлен Debian на другом w7) могли подключаться по wifi и иметь доступ к интернету и общим папкам харнящимся на стационарном компе. Зачем мне dns и dhcp? Потому что не могу представить как это будет работать одно без другого. По идее, в Инете достаточно инструкций и всего такого прочего материала по настройке всего по отдельности. НО, как ни старался я так и не нашел упорядоченного "howto" с чего начать, и чем закончить. По идее, первым делом думаю нужно поднять точку доступа, но как мне кажется она не будет раздавать инет без dhcp! Значит нужно настроить его первым делом. Но при его настройке необходимо указать интерфейсы (eth0/wlan0) какой смотрит в сеть, а какой во внешний мир. А так же необходимо указать dns. Но ведь он не настроен! Если первым делом браться за днс, то опять таки ему нужно сказать на каком интерфейсе слушать запросы . Но так ведь точка доступа еще не поднята! В общем я запутался! Помогите направить мысли в нужном направлении.

У меня установлен Debian 6.0

#132632
mex написал:
но как мне кажется она не будет раздавать инет без dhcp!

Все будет и без dhcp сервера - только ip - статические будут, с какого перепугу на домашних 2-3, ну пусть 10 компов поднимать dhcp server?
Ручками сложно?
Настраиваете внутреннюю сеть - шлюз 192.168.0.1, остальные вешаете на 192.168.0.2 .... 192.168.0.X.
Останется настроить nat.

mex написал:
А так же необходимо указать dns.

dns - вам выдает провайдер.
Внутри для раздачи dns - ставится пакет dnsmasq.

#132774

Все будет и без dhcp сервера - только ip - статические будут, с какого перепугу на домашних 2-3, ну пусть 10 компов поднимать dhcp server?

Да, это я понимаю. Но мы легких путей не ищем. smile Хочу настроить именно такую систему для того, чтобы разобраться что к чему, и как это все работает. получить определенный опыт так сказать. wink

Останется настроить nat

А вот тут поподробнее можно?

dns - вам выдает провайдер.

На самом деле, у меня сейчас построена сеть таким образом, что все три машины имеют свой динамический IP, провайдера. И именно по этому (как я считаю ) samba сервер не доступен с машины на которой установлена w7.

Внутри для раздачи dns - ставится пакет dnsmasq.

А чем отличается dnsmasq от bind9 и как он настраивается? Насколько мне известно он то и выполняет функцию NAT. Я ошибаюсь?

#132786

Ну раз так вот готовое решение (если хочешь разобраться, то сначала статические адреса, потом уже dhcp):
Машина которая раздает интернет - пример:
Сетевые интерфейсы: eth0 - смотрит к провайдеру (подключение pppoe), eth1 - смотрит в локальную сеть
чтобы узнать какие у вас в консоли
$ ifconfig

Конфигурация сети - редактируется файл /etc/network/interfaces

Показать

[console]
# The loopback network interface
auto lo
iface lo inet loopback

# 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

# PPPoE
auto eth0
iface eth0 inet manual

auto dsl-provider
iface dsl-provider inet ppp
pre-up ifconfig eth0 up
provider dsl-provider
[/console]

Запускаем nat следующим скриптом:
Сохранить в любой файл и назвать как-нибудь, запускат из под рута.
# sh файл_как_нибудь_nat.sh

Показать
[console]
#!/bin/sh
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

export LAN=eth0
export NAT1=eth1
export WAN=ppp0

# Сообщаем ядру, что ip-форвардинг разрешен
echo 1 >/proc/sys/net/ipv4/ip_forward

# RESET
iptables -v -P INPUT ACCEPT
iptables -v -P FORWARD ACCEPT
iptables -v -P OUTPUT ACCEPT
# reset the default policies in the nat table.
iptables -v -t nat -P PREROUTING ACCEPT
iptables -v -t nat -P POSTROUTING ACCEPT
iptables -v -t nat -P OUTPUT ACCEPT
# reset the default policies in the mangle table.
iptables -v -t mangle -P PREROUTING ACCEPT
iptables -v -t mangle -P OUTPUT ACCEPT
# flush all the rules in the filter and nat tables.
iptables -v -F
iptables -v -t nat -F
iptables -v -t mangle -F
# erase all chains that's not default in filter and nat table.
iptables -v -X
iptables -v -t nat -X
iptables -v -t mangle -X
# Let's go
iptables -v -P INPUT DROP
iptables -v -P OUTPUT DROP
iptables -v -P FORWARD DROP

iptables -v -A INPUT -i lo -j ACCEPT
iptables -v -A INPUT -i ${NAT1} -j ACCEPT

iptables -v -A OUTPUT -o lo -j ACCEPT
iptables -v -A OUTPUT -o ${NAT1} -j ACCEPT
iptables -v -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -v -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -v -A FORWARD -o ${NAT1} -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -v -A FORWARD -i ${NAT1} -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# Разрешаем доступ из внутренней сети наружу
iptables -v -A FORWARD -i ${NAT1} -o ${WAN} -j ACCEPT

iptables -v -A FORWARD -i ${NAT2} -o ${NAT1} -j ACCEPT

# Включаем NAT
iptables -v -t nat -A POSTROUTING -o ${WAN} -s 192.168.0.0/24 -j MASQUERADE

# Запрещаем доступ снаружи во внутреннюю сеть
iptables -v -A FORWARD -i ${WAN} -o ${WAN} -j REJECT

# Проброс локального и VPN трафика
iptables -v -t nat -A POSTROUTING -o ${NAT1} -j MASQUERADE
iptables -v -t nat -I POSTROUTING -o ${WAN} -j MASQUERADE
iptables -v -t nat -I POSTROUTING -o ${LAN} -j MASQUERADE
[/console]

Скрипт сбрасывает настройки iptables, запрещает досуп снаружи ко всему, кроме того что разрешили, и раздает интернет на подсеть 192.168.0/24

Да dnsmasq поставить не забудь:
# aptitude install dnsmasq

После настройки этого можно переходить к настройке файлосвалки. :)

Для wifi - покажи свои настройки (ifconfig).

#132862

newzenon, Я думаю что скрипт для iptables тут не нужен... вернее он нужен, но для понимания можно не усложнять. Прописать пару правил для форвадига и маскарадинга, что бы все работало. Этого хватит. А то придется еще и углубляться в фаирвол линукса.
И зачем dnsmasq? Достаточно локально прописать DNS прова и не замарачиваться.

И вообще.. какой то он у вас замудренный скрипт. Можно гораздо проще все сделать. Тем более нужен всего навсего нат.
Все закрываем. Разрешаем форвард локалке, натим нужную подсеть и открываем нужные порты. Вчастности для самбы и если нужно для впн. Это пару правил.

Хотя ваше решение вполне рабочее и я ничуть не сомневаюсь на то что это не верно. wink

#132872

XliN, я руководствовался - все что не знаю закрыть, потом то, что нужно открыть (хотя если ip от провайдера динамический, то не надо, в принципе)... ну и дописан форвардинг, нат, и для удобства в шапке переменные - для сетевых интерфейсов.
ы. Он у меня работает вот в этом варианте (еще и на виртуалки): http://linuxforum.ru/viewtopic.php?pid=146036#p146036

mex, в общем покажи вывод (от рута) в консоли:
$ ifconfig

#132912

Хорошо, давайте попробуем для начала настроитть статичский адрес внутрь
вот мой вывод до каких либо настроек.
# ifconfig

Показать

eth0 Link encap:Ethernet HWaddr 00:1f:d0:93:4b:10
inet addr: XXX.37.200.YYY Bcast: XXX.37.201.255 Mask:255.255.254.0
inet6 addr: fe80::21f:d0ff:fe93:4b10/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:93 errors:0 dropped:0 overruns:0 frame:0
TX packets:138 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12380 (12.0 KiB) TX bytes:21175 (20.6 KiB)
Interrupt:28 Base address:0xe000

lo Link encap:Local 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:130 errors:0 dropped:0 overruns:0 frame:0
TX packets:130 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11346 (11.0 KiB) TX bytes:11346 (11.0 KiB)

wlan0 Link encap:Ethernet HWaddr d8:5d:4c:d7:2b:40
inet addr:10.42.43.1 Bcast:10.42.43.255 Mask:255.255.255.0
inet6 addr: fe80::da5d:4cff:fed7:2b40/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:9142 (8.9 KiB)
#132913

К провайдеру pppoe через eth1 подключен? Еще что в сети присутствует?

ы. Давайте больше информации, например к провайдеру подключен комп через ethX, подключение vpn или pppoe, раздавать хочу через wlan0, или присутствует еще какое - либо оборудование, маршрутизатор, и т.д.

#132919

Нет, к провайдеру подключен напрямую через ethernet
что означает

Еще что в сети присутствует?

если я правильно понял вопрос, то между мной и интернетом провайдера, у меня находится всего одна коробка D-link DSL 2540u, на которой отключены абсолютно все сервисы, включая НАТ DHCP и все остальные прочие. Эта железяка выполняет одну единственную роль свитча. К которому уже подключены все мои компы.

кстати, отредактировав /etc/network/interfaces по аналогии с вашим, сеть wifi вещавшая прежде в режиме Ad-hoc пропала, хотя интерфейс поднят, и адрес присвоен в соответствии с конфигом

Показать

# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
#NetworkManager#iface eth0 inet dhcp
# до изменений строк что находятся ниже, - небыло
auto wlan0
iface wlan0 inet static
address 10.42.43.1
netmask 255.255.255.0
network 10.42.43.0
broadcast 10.42.43.255

Я извиняюсь за то что вполне возможно даю мало информации, но вроде в общих чертах картина сети теперь более ясна.

#132969

уважаемый топик-стартер. Почему вы не попробовали разобраться в работе DHCP сервера или NAT (к примеру) на этой же коробочке DSL 2540u? На ней все видно гораздо нагляднее и проще, вы поймете как все фукнционирует.

А внутренний DNS не особо и нужен, у вас всего 2 компа в локалке будет. Но тем не менее если даже интересно что это и зачем, добро пожаловать в вики:
http://ru.wikipedia.org/wiki/DNS#.D0.97.D0.B0.D0.BF.D0.B8.D1.81.D0.B8_DNS

Вообще если бы вы ввели в гугле DNS на Debian или DHCP на Debian то у вас было бы чтото типа:

http://sudouser.com/ustanovka-i-nastrojka-dns-servera-bind9-ubuntu-debian-howto.html

http://www.howtoforge.com/dhcp_server_linux_debian_sarge

по моему вполне все внятно по крайней мере наталкивает на мысли о том как ВАМ это сделать, а фраза "я так и не нашел упорядоченного "howto" равна "я не искал, просто дайте мне ответ". ИМХО


если я правильно понял вопрос, то между мной и интернетом провайдера, у меня находится всего одна коробка D-link DSL 2540u, на которой отключены абсолютно все сервисы, включая НАТ DHCP и все остальные прочие

эта железка D-link DSL 2540u если бы вы вбили название в гугл, он бы выдал вам что это ADSL роутер.
Говорите провайдер к вам идет по езернету? Увы, вы ошиблись, newzenon наверное ясновидящий что узрел PPPoE :) .
И эта железка выполняет не роль "свича" а роль "маршрутизатора" по скольку перенаправляет пакеты с одной подсети в другую. И кстати повторю вопрос схожий с моим первым "почему вы отключили все сервисы на маршрутизаторе и не попробовали их настроить"?


На самом деле, у меня сейчас построена сеть таким образом, что все три машины имеют свой динамический IP, провайдера

Как они имеют динамические IP провайдера если у вас дома маршрутизатор стоит?


З.Ы. Вы до сих пор дали мало информации и картина не ясна.

#133051

Так! Стоп!
Видимо действительно мало информации, и эта железка ввела в еще большее заблуждение.

Вот тут я сразу хочу поблагодарить уважаемого r1sh, теперь я вижу на сколько безграмотно и не информативно я описал проблему и устройство сети. А так же newzenonа, за помощь, "телепатию" и стремление.

Итак, рисую полную картину.
Имеется:

1 входящий в квартиру кабель Ethernet (Да, да именно eternet, тот который имеет разьем RG45 а не RG11)
1 устройство под названием DSL-2540u c 4 интервейсами Ethernet RG45 и одним RG11 (последний интерфейс не используется)
2 лаптопа с интерфейсами Ethernet и wifi
1 стационарная машина тоже имеет 2 сетевухи одна езернет вторая wifi карточка TL -WN851n


схема того что естть на данный момент

Показать



Uploaded with ImageShack.us
Как видно на схеме, 2540 используется как коммутатор, а не как ADSL модем

а вот это вот схема того как должно быть

Показать



Uploaded with ImageShack.us

Теперь со всем остальным попорядку,

Почему вы не попробовали разобраться в работе DHCP сервера или NAT (к примеру) на этой же коробочке DSL 2540u? На ней все видно гораздо нагляднее и проще, вы поймете как все фукнционирует.

Потому что во первых железка есть железка, и мышой натыкать легко, а цель состоит совсем в другом! Организовать сеть именно на debian. А во вторых, эту железку из сети я планирую убрать совсем так как изза нее слишком много проводов. Идея состоит в том чтобы оставить только один проложенный до этой машины кабель, все остальное по воздуху. без проводов, без железки.

а фраза "я так и не нашел упорядоченного "howto" равна "я не искал, просто дайте мне ответ". ИМХО

Да, я же написал о том что есть достаточное колличество хороших материалов о том как поднять все по отдельности, но как собрать все вместе. Кстати, эти статьи я видел они очень даже неплохие и очень информативные ресурсы, но тем не менее есть там некоторые неточности, которые ввели меня в свое время в заблуждение. В чем именно не помню. )Если вы пррочтете следующее предложение после того, что вы цитировали. то там написано о том почем создан этот топик.


Говорите провайдер к вам идет по езернету? Увы, вы ошиблись, newzenon наверное ясновидящий что узрел PPPoE .
И эта железка выполняет не роль "свича" а роль "маршрутизатора" по скольку перенаправляет пакеты с одной подсети в другую. И кстати повторю вопрос схожий с моим первым "почему вы отключили все сервисы на маршрутизаторе и не попробовали их настроить"?

Как видите, все же не PPoE smile

#133072

От, вы даёте.... слона та на входе и не увидели. (я про маршрутизатор).
Если делать как вы хотите (2-ой рисунок) убирайте свою 'железку' и подключайте проводок с RJ45 от провайдера сразу в ваш десктоп, настраивайте интернет на десктопе.... дальше будем разбираться.

#133075
mex написал:
А так же необходимо указать dns. Но ведь он не настроен!

не нужно. укажите dns прова или там гугловые. но можно. кеширующий нужен в вашем случае.

#133076

От, вы даёте.... слона та на входе и не увидели. (я про маршрутизатор).
Если делать как вы хотите (2-ой рисунок) убирайте свою 'железку' и подключайте проводок с RJ45 от провайдера сразу в ваш десктоп, настраивайте интернет на десктопе.... дальше будем разбираться.

Готово!

#133078

drBatty, запутается человек у него все же Debian и в конфигах разница немалая.

mex, что значит Готово!?

#133082
newzenon написал:
запутается человек у него все же Debian

и что? пакеты почти также называются. а скорее - также. проверьте, если не лень.

newzenon написал:
и в конфигах разница немалая.

где там разница? только интерфейс указывается на выходе шлюза wlan, а не eth. всё остальное можно сделать также.

#133088

не нужно. укажите dns прова или там гугловые. но можно. кеширующий нужен в вашем случае.

На самом деле, у меня сейчас построена сеть таким образом, что все три машины имеют свой динамический IP, провайдера. И именно по этому (как я считаю ) samba сервер не доступен с машины на которой установлена w7 ни по сетевому имени ни по IP адресу.

Неужели я ошибаюсь? Для этого мне не нужен свой dns??

#133089

drBatty, ну к примеру:

Это DHCP-клиент. Его задача, обратится к DHCP серверу на шлюзе, и получить IP адрес. Запускается из /etc/rc.d/rc.inet1, настраивается в /etc/rc.d/rc.inet1.conf

В debian нет такого файла, есть /etc/dhcp3/dhcpd.con, ну и т.д. не буду дальше искать расхождения, но они есть, если человек не сталкивался с этим никогда, то запутается.

#133100
newzenon написал:
В debian нет такого файла, есть /etc/dhcp3/dhcpd.con, ну и т.д. не буду дальше искать расхождения, но они есть, если человек не сталкивался с этим никогда, то запутается.

за то он узнает последовательность действий, и что писать в конфигах. т.е. у него будет план действий. именно этого я и не нашёл в сети - мне попадалось всё разрозненное, и не связанное. в линуксе каждую задачу можно решить многими способами, и я нашёл Over9000 решений, как подымать то-же DHCP. И ещё Over9000 как поднять DNS. А потом, когда я разобрался, оказалось, что DNS и не нужен. И NIS не нужен. И ещё много чего не нужно для домашнего шлюза. А конфиги и так могут быть где угодно, на то man и существует.

Войдите или зарегистрируйтесь, чтобы ответить.