Гостевая WiFi сеть + режим свитча

Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT
Goto page 1, 2  Next
Author Message
dodz
DD-WRT Novice


Joined: 15 Sep 2014
Posts: 15

PostPosted: Sat Mar 14, 2015 16:10    Post subject: Гостевая WiFi сеть + режим свитча Reply with quote
Здравствуйте!

Есть роутер D-Link DIR-300 c прошивкой DD-WRT v24-sp2 std.
Необходимо сделать гостевую (для всех, без пароля, без доступа к локалке, только к интернету) сеть WiFi в холле здания. В холл заходит 1 UTP-кабель для компа охранника с видеонаблюдением. Нужно, чтобы для компа охраны по кабелю раздавалась локалка.

Пока что сделал так:
порт WAN не занят, LAN1 = кабель к локалке, LAN2 = кабель к компу охраны.
В настройках роутера DHCP-сервер отключен, в Advanced Routing режим Operating Mode = Router. Т.е. для кабельных подключений работает как свитч. Основная WiFi сеть запаролена и скрыта, и вообще не нужна.
Затем сделал по Wiki http://www.dd-wrt.com/wiki/index.php/Multiple_WLANs вторую открытую сеть WiFi (гостевую), настроил DHCP-сервер на неё по инструкции, сеть 192.168.2.0/255.255.255.0 работает, но нет шлюза, и поэтому не раздается интернет.

Пробовал копаться в Advanced routing, но не хватает знаний, ничего не получилось пока. Прошу помощи!
Sponsor
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Mar 16, 2015 8:39    Post subject: Re: Гостевая WiFi сеть + режим свитча Reply with quote
Стандартная схема для раздачи интернета - это
Интернет-----WAN(роутер)(LAN)-----ПК
ПК2-----------wi-fi+

При подключении роутера к интернету любым способом через WAN порт будет добавлен маршрут по умолчанию на шлюз подключенный к WAN порту роутера.

Если схема
Интернет-----шлюз----LAN(роутер)LAN----ПК
ПК2------------------wi-fi+
то тут уже нужно ручками указывать маршрут по умолчанию на шлюз с которого можно получить выход в интернет или настроить DNSMasq http://192.168.1.1/Services.asp прописав в поле "Additional DNSMasq Options" раздела "DNSMasq" строчку :
dhcp-option=lan, 3, 192.168.1.100
где 192.168.1.100 адрес шлюза в локальной сети который получает интернет. Тогда клиент подключивших по DHCP к роутеру получит адрес шлюза.
dodz
DD-WRT Novice


Joined: 15 Sep 2014
Posts: 15

PostPosted: Mon Mar 16, 2015 10:18    Post subject: Re: Гостевая WiFi сеть + режим свитча Reply with quote
vasek00 wrote:
http://192.168.1.1/Services.asp прописав в поле "Additional DNSMasq Options" раздела "DNSMasq" строчку :
dhcp-option=lan, 3, 192.168.1.100
где 192.168.1.100 адрес шлюза в локальной сети который получает интернет. Тогда клиент подключивших по DHCP к роутеру получит адрес шлюза.


Спасибо за ответ. Да, так устройство по WiFi получает адрес шлюза, но интернет не работает, наверное шлюз 192.168.1.1 не видит сеть 192.168.2.0. Копаюсь пока дальше...
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Mar 16, 2015 10:37    Post subject: Re: Гостевая WiFi сеть + режим свитча Reply with quote
Смотрите таблицу маршрутов на роутере, что и как выполнив команду ip ro на странице http://192.168.1.1/Diagnostics.asp в окне Command Shell-Commands набрать ее и нажать внизу кнопку "Run Commands".
Либо http://192.168.1.1/Routing.asp - кнопка "Show Routing Table" если она вам удобней. Основная запись это маршрут по умолчанию он же default.
dodz
DD-WRT Novice


Joined: 15 Sep 2014
Posts: 15

PostPosted: Mon Mar 16, 2015 13:28    Post subject: Reply with quote
ip ro:

Code:
192.168.2.0/24 via 192.168.2.1 dev br1  scope link
192.168.2.0/24 dev br1  proto kernel  scope link  src 192.168.2.1
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.2
127.0.0.0/8 dev lo  scope link
default via 192.168.1.1 dev br0


Более подробно про текущую настройку:

В Services/DNSMasq/Options прописано:
Code:
interface=br1
dhcp-option=lan,3,192.168.1.1
dhcp-option=br1,6,77.88.8.7,77.88.8.3
dhcp-range=br1,192.168.2.2,192.168.2.254,255.255.255.0,1h


iptables не запускал, всё по умолчанию.



Last edited by dodz on Tue Mar 17, 2015 9:59; edited 1 time in total
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Tue Mar 17, 2015 6:09    Post subject: Reply with quote
1. на скрине не чего не видно, так как он маленький.
2. по маршрутам основной маршрут у вас
Code:
default via 192.168.1.1 dev br0

т.е. если адрес IP получателя нельзя найти по таблице маршрутов, то он будет отправлен по default на данный IP - у вас он сам. Должно быть что-то типа такого если шлюз для интернета в сегменте роутера, т.е. на LAN порту:
Code:
default via 192.168.1.100 dev br0

при IP роутера 192.168.1.1
Команда в StartUp скрипте
Code:
ip ro add default via 192.168.1.100 dev br0


Вы имеете два br :
br0 - 192.168.1.0-255
br1 - 192.168.2.0-255

Quote:
В Services/DNSMasq/Options прописано:
Code:
interface=br1
dhcp-option=lan,3,192.168.1.1
dhcp-option=br1,6,77.88.8.7,77.88.8.3
dhcp-range=br1,192.168.2.2,192.168.2.254,255.255.255.0,1h


Раз у вас DHCP на br1 то причем тут тогда запись у вас
Code:
dhcp-option=lan,3,192.168.1.1

хотя должно быть
Code:
dhcp-option=br1,3,192.168.2.1


Так же раз получили новый интерфейс то и правила iptables так же нужно установить.
dodz
DD-WRT Novice


Joined: 15 Sep 2014
Posts: 15

PostPosted: Tue Mar 17, 2015 9:59    Post subject: Reply with quote
Спасибо, за ответ, вечером буду понимать и пробовать. Шлюз в интернет (основной роутер) 192.168.1.1, мой роутер 192.168.1.2.

Картинку с настройками починил.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Tue Mar 17, 2015 10:27    Post subject: Reply with quote
dodz wrote:
Спасибо, за ответ, вечером буду понимать и пробовать. Шлюз в интернет (основной роутер) 192.168.1.1, мой роутер 192.168.1.2.

Картинку с настройками починил.


смотрите инструкцию внимательней в части iptables, и второе можно обойтись было и просто ra1 без создания br1, так как данный интерфейс ra1 у вас один.
Одна из команд на 192.168.1.2 тогда
Code:
ip ro add default via 192.168.1.1 dev br0

Любой клиент из сети роутера 192.168.1.2 с IP 192.168.1.х в интернет будет иметь выход через 192.168.1.1 не зависимо от настроек на самом клиенте ПК IP адреса шлюза 192.168.1.2 или 192.168.1.1.
Для клиентов второго сегмента 192.168.2.х настроить iptables для прохода пакетов с вашего интерфейса br1 на br0 на роутере 192.168.1.2
dodz
DD-WRT Novice


Joined: 15 Sep 2014
Posts: 15

PostPosted: Tue Mar 17, 2015 14:27    Post subject: Reply with quote
К сожалению, не работает. В startup commands занёс:

Code:
iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -I FORWARD -i br1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j DROP
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to `nvram get lan_ipaddr`


Не могу понять почему не сработало...

ip ro выдает:
Code:
192.168.2.0/24 dev br1  proto kernel  scope link  src 192.168.2.1
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.2
127.0.0.0/8 dev lo  scope link
default via 192.168.1.1 dev br0
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Tue Mar 17, 2015 20:09    Post subject: Reply with quote
dodz wrote:
К сожалению, не работает. В startup commands занёс:

Code:
iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -I FORWARD -i br1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j DROP
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to `nvram get lan_ipaddr`


Не могу понять почему не сработало...

ip ro выдает:
Code:
192.168.2.0/24 dev br1  proto kernel  scope link  src 192.168.2.1
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.2
127.0.0.0/8 dev lo  scope link
default via 192.168.1.1 dev br0


Не сработало потому что такие вещи для начало нужно выполнять по шагам и второе после ввода той или иной команды нужно проверить ее. Все это делается через телнет доступ любой удобной для вас программой.

Входите на роутер через телнет - имя root пароль что для WEB доступа. Скрин ниже.
Первая часть
Code:

root@My-Buf:~# ifconfig br0 | grep addr
br0       Link encap:Ethernet  HWaddr хх:хх:хх:хх:хх:хх 
          inet addr:192.168.130.99  Bcast:192.168.130.255  Mask:255.255.255.0
root@My-Buf:~#
root@My-Buf:~# route del default
root@My-Buf:~# ip ro add default via 192.168.130.100 dev br0
root@My-Buf:~# ip ro | grep default
default via 192.168.130.100 dev br0
root@My-Buf:~#

ifconfig лишняя просто показать IP адрес роутера.
С маршрутами у вас правильно для ваших IP.

Вторая часть.
Выполняем команды по шагу и проверяем их правильность ввода по
Code:
iptables -t nat -nvL
iptables -nvL

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

Для начало вам вопрос что вы предполагали должно быть в переменных lan_ipaddr и lan_netmask которые вы используете, вот пример для моих :
Code:
root@My-Buf:~# nvram get lan_ipaddr
192.168.130.99
root@My-Buf:~# nvram get lan_netmask
255.255.255.0
root@My-Buf:~#

т.е. в них лежит IP адрес роутера или его IP от br0.
Ваша команда в результате имеет тогда вид
Code:
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to 192.168.1.2

Но вы настройку ведете для интерфейса br1, тогда команда должна иметь вид :
Code:
iptables -t nat -I POSTROUTING -o br1 -j SNAT --to-source 192.168.2.1

далее разрешить
Code:
iptables -I INPUT -i br1 -j ACCEPT
iptables -I INPUT -i br1 -m state --state NEW -j logaccept
iptables -I OUTPUT -o br1 -j ACCEPT
iptables -I FORWARD -i br1 -o br1 -j ACCEPT
iptables -I FORWARD -i br1 -o br0 -j ACCEPT
iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT

введите все по одной команде, а потом проверьте все по iptables -t nat -nvL и iptables -nvL
dodz
DD-WRT Novice


Joined: 15 Sep 2014
Posts: 15

PostPosted: Thu Mar 19, 2015 0:27    Post subject: Reply with quote
Интернет так и не появился на 192.168.2.x. Всё сделал как вы написали.
Решил плюнуть и поставить 1 свитч перед DD-WRT, из свитча кабель до WAN-порта DD-WRT, настроил WAN DHCP. Внутренней сети назначил 192.168.2.х. Был поражён, думал, что так должна быть изоляция от внешней сети, но блин сеть 192.168.1.х всё равно видна! Но хотя бы есть интернет. Sad
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Thu Mar 19, 2015 8:13    Post subject: Reply with quote
Собрал схему c MultiWLAN:

Code:
ПК1(wi-fi)-----(ath0.1)dd-wrt(LAN)------(LAN)роутер-----Интернет
ПК2(wi-fi)--------(ath0)+


WAN порт на dd-wrt просто настроен на стат IP для того чтоб основные правила iptables прописались. В данной реализации для сети wi-fi c ПК не какого br1 не создается, используется ath0.1.
Скрины настроек разделов настроек ниже.
Имеем сеть
wi-fi - 192.168.2.0 и интерфейс ее обслуживания ath0.1, DHCP диапазон с 192.168.2.100
wi-fi - 192.168.130.99 и интерфейс ее обслуживания br0 по умолчанию, так же DHCP диапазон 192.168.130.130
шлюз доступа в интернет 192.168.130.100 в сети интерфейса br0 с маршрутом
Code:
route del default
ip ro add default via 192.168.130.100 dev br0

маршрут по умолчанию.

Задача раздать интернет на роутере dd-wrt в сети wi-fi интерфейса ath0.1 и доступ ПК1 к локальной сети 192.168.130.0-192.168.130.254.

Результат работы:
настройка iptables для новой сети ath0.1
Code:

iptables -t nat -I POSTROUTING 1 -o ath0.1 -j SNAT --to-source 192.168.2.1
iptables -t nat -I POSTROUTING 1 -s 192.168.2.1/24 -o br0 -j SNAT --to-source 192.168.130.99


Получили:
ПК1 получил IP адрес 192.168.2.102, шлюз 192.168.2.1, DNS адреса которые были прописаны в настройках http://192.168.130.99/Services.asp в разделе DNSMasq.
Доступ в интернет и к локальным ПК получился и все работает.

Для информации параметры на ройтере 192.168.130.99 который в схеме dd-wrt:
Code:

ifconfig
--------
ath0      Link encap:Ethernet  HWaddr хх:...:хх 
...
ath0.1    Link encap:Ethernet  HWaddr хх:...:хх
          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
...
br0       Link encap:Ethernet  HWaddr хх:...:хх
          inet addr:192.168.130.99  Bcast:192.168.130.255  Mask:255.255.255.0
...
vlan1     Link encap:Ethernet  HWaddr хх:...:хх
...
vlan2     Link encap:Ethernet  HWaddr хх:...:хх
          inet addr:10.10.10.10  Bcast:10.10.10.255  Mask:255.255.255.0

brctl show
----------
bridge name     bridge id               STP enabled     interfaces
br0             8000.хх...хх              no                   vlan1
                                                                        ath0

cat /tmp/dnsmasq.conf
---------------------
interface=br0,ath0.1
resolv-file=/tmp/resolv.dnsmasq
all-servers
strict-order
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=13
dhcp-option=lan,3,192.168.130.99
dhcp-option=ath0.1,3,192.168.2.1
dhcp-authoritative
dhcp-range=lan,192.168.130.130,192.168.130.133,255.255.255.0,60m
dhcp-range=ath0.1,192.168.2.100,192.168.2.102,255.255.255.0,3600m
...
stop-dns-rebind
dhcp-option=lan, 3, 192.168.130.100
dhcp-option=6, 8.8.8.8

vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Thu Mar 19, 2015 8:14    Post subject: Reply with quote
Продолжение
dodz
DD-WRT Novice


Joined: 15 Sep 2014
Posts: 15

PostPosted: Mon Mar 30, 2015 3:35    Post subject: Reply with quote
vasek00, спасибо большое, после недели мучений, курения манов iptables, понял в чём проблема. Если я в iptables работал напрямую с радиоинтерфейсом (ra0-ra1) ничего не работало. Как только сделал br1 на радиоинтерфейс, всё заработало. Вот такой вот то ли глюк, то ли баг, то ли фича.


Команды у меня сейчас такие, сеть на вай-фай сделал 10.10.10.0/24 для удобства восприятия:

Code:
iptables -t nat -A POSTROUTING -s 10.10.10.1/24 -o br0 -j SNAT --to-source 192.168.1.2
iptables -t nat -A POSTROUTING -o br1 -j SNAT --to-source 10.10.10.1
iptables -A FORWARD -i br1 -d 192.168.1.0/24 -m state --state NEW -j DROP




Т.е. фактически сейчас у меня есть свитч на 5 портов в локалке 192.168.1.0/24 и есть точка доступа с доступом только в интернет и без доступа к локалке.

Спасибо большое за помощь!
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Mar 30, 2015 7:32    Post subject: Reply with quote
Я рад что у вас получилось, и вы не зря потратили время.

Quote:
Если я в iptables работал напрямую с радиоинтерфейсом (ra0-ra1) ничего не работало.

Возможно где-то была ошибка, так несколько раз уже обращал внимание на то, что при использовании WAN порта в разных режимах, дает и разные настройки первичные iptables, которые нужно было посмотреть и добавить только необходимые, так же при настройках ra1 опять же нужно было ставить галку использовать NAT и т.д.
Goto page 1, 2  Next Display posts from previous:    Page 1 of 2
Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum