1

Всем привет!
Началось все с того что вышел из строя мой роутер Linksys
Есть комп с openSUSE Leap 42.2 на борту (менять систему не хочу, привык уже), двумя сетевыми картами и wifi адаптером. До поломки маршрутизатора данный компьютер использовася как медиацентр. Установлен Kodi - смотрим фильмы, сериалы, ТВ, слушаем онлайн-радио. Теперь пришлось добавитиь функцию маршрутизатора.
С помощью гугла и даного форума настроил точку доступа и в Yast раздачу интернет
- Одна сетевая карта net - (External Zone) смотрит в интернет и получает адрес от провайдера (DHCP)
- Другая сетевая карта lan - (192.168.1.253 Internal Zone) смотрит внутрь сети, раздает интернет (на компах нужно прописывать вручную)
- WiFi адаптер wlan0 - (192.168.2.254 Internal Zone) смотрит внутрь сети, раздает интернет DHCP
Интернет работает на всех устройствах.

+ Network Settings

http://www.picshare.ru/uploads/170127/Vbv2OfOBMM.png

+ Firewall

http://www.picshare.ru/uploads/170127/R49ocgVRg1.png

http://www.picshare.ru/uploads/170127/RxZPum13YP.png

http://www.picshare.ru/uploads/170127/3nI3P27vvO.png

+ DHCP

http://www.picshare.ru/uploads/170127/0stKLlUm97.png

http://www.picshare.ru/uploads/170127/NP57Kz04r6.png

http://www.picshare.ru/uploads/170127/0TGiIMsIql.png

Но!
1. Как сделать чтобы DHCP раздавал адреса и по воздуху и по кабелю? У меня не получилось
2. Как сделать чтобы все клиенты в сети (и воздушные и кабельные) видели друг друга? Я понимаю что устройства находятся в разных подсетях. Но когда ставил одну подсеть (lan - 192.168.1.253,  wlan0 - 192.168.1.254), то вообще переставало раздавать.
Ну, хотелось бы как то сделать перенаправление портов (а то торрент плохо раздает), блокировку определенных адресов, ну и кое что по мелочи, но это уже после настройки сети и DHCP.
И еще одна просьба - желательно отдать приоритет настройки через Yast (я не очень силен в линукс). Но если нужно в терминале, при хорошем разъяснении ничего страшного, думаю, не случится.
Заранее благодарен.

2 (27.01.2017 09:37:44 отредактировано baralgin)

Сам ни разу не пробовал, но попробуйте почитать тут http://sapfeer.ru/2010/11/10/707.html может чем и поможет.
И еще статья на хабре была https://habrahabr.ru/post/245809/

3

У вас установлен DHCP-сервер? dhcpcd -- это клиент, нужен dhcpd. Установите, почитайте man 5 dhcpd.conf, думаю, получится. Для каждого интерфейса, на котором нужно радавать IP-адреса, нужно запустить своего демона dhcp.

P.S. Yast2, конечно, вещь мощная, но вот человеку, не имевшему с ним дела, сложно понять, как все эти окошки друг с другом связаны. Текстовый конфиг в этом смысле лучше.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

4 (27.01.2017 13:24:26 отредактировано Gnom)

yars, а если через dnsmasq?
Во как, в первом сообщении, ссылка на мой пост идет ab
AxelR8, может вот так попробуешь. https://forum.mageialinux.ru/viewtopic.php?id=541

Mageia4, KDE  4.11.4.

5

yars пишет:

У вас установлен DHCP-сервер? dhcpcd -- это клиент, нужен dhcpd. Установите, почитайте man 5 dhcpd.conf, думаю, получится.

Или dnsmasq (по ссылке некоторый минимальный опыт установки и использования), который вам создаст кэширующий DNS, но заодно и DHCP-сервер.
Такое решение (объединение DNS с DHCP) даст вам возможность обращаться в LAN по именам хостов, без ручного прописывания.
(а заодно и Интернет будет бегать быстрее, за счёт локального кэширующего DNS)

yars пишет:

P.S. Yast2, конечно, вещь мощная, но вот человеку, не имевшему с ним дела, сложно понять, как все эти окошки друг с другом связаны. Текстовый конфиг в этом смысле лучше.

Абсолютно присоединяюсь! : тонкие настройки сети можно точно сделать только из командной строки и текстовыми конфигами.

6 (01.02.2017 17:41:44 отредактировано AxelR8)

Извиняюсь за продолжительное отсутствие
Все таки dnsmasq не осилил (времени не хватило, позже почитаю, так как домашние над головой стоят "дай интернет, дай интернет". Вон даже сейчас пока я тут пишу что то требуют be )
Запустил пока с такими настройками

+ Установлены пакеты

 Консоль:

S | Name                              | Summary                                                        | Type
--+-----------------------------------+----------------------------------------------------------------+--------
i | dhcp                              | Common Files Used by ISC DHCP Software                         | package
i | dhcp-client                       | ISC DHCP Client                                                | package
i | dhcp-relay                        | ISC DHCP Relay Agent                                           | package
i | dhcp-server                       | ISC DHCP Server                                                | package
i | dhcp-tools                        | DHCP Tools                                                     | package
i | dhcp_dns_server                   | DHCP and DNS Server                                            | pattern
i | hostapd                           | Turns Your WLAN Card into a WPA capable Access Point           | package
i | iw                                | Configuration utility for nl80211 based wireless drivers       | package
i | patterns-openSUSE-dhcp_dns_server | DHCP and DNS Server                                            | package
i | perl-Net-DNS                      | Perl interface to the Domain Name System                       | package
i | usb_modeswitch                    | A mode switching tool for controlling multiple-device USB gear | package
i | usb_modeswitch-data               | Data Files for USB Modeswitch                                  | package
i | wireless-regdb                    | 802.11 regulatory domain database                              | package
i | wireless-tools                    | Tools for a wireless LAN                                       | package
i | yast2-dhcp-server                 | YaST2 - DHCP Server Configuration                              | package
i | yast2-dns-server                  | YaST2 - DNS Server Configuration                               | package

+ /etc/sysconfig/network/ifcfg-net - внешний, получает автоматом настройки от провайдера по DHCP
BOOTPROTO='dhcp'
BROADCAST=''
DHCLIENT_SET_DEFAULT_ROUTE='yes'
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME='88E8056 PCI-E Gigabit Ethernet Controller'
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
DHCLIENT_SET_HOSTNAME='yes'
+ /etc/sysconfig/network/ifcfg-lan - внутренний, раздает по кабелю интернет, раздает автоматом настройки по DHCP
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='192.168.1.254/24'
MTU=''
NAME='RTL-8100/8101L/8139 PCI Fast Ethernet Adapter'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
NETMASK=''
PREFIXLEN=''
+ /etc/sysconfig/network/ifcfg-wlan0 - внутренний, раздает по WiFi интернет, раздает автоматом настройки по DHCP
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='192.168.2.254/24'
MTU=''
NAME='RT2800 802.11n PCI'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
WIRELESS_AP=''
WIRELESS_AP_SCANMODE='1'
WIRELESS_AUTH_MODE='no-encryption'
WIRELESS_BITRATE='auto'
WIRELESS_CA_CERT=''
WIRELESS_CHANNEL=''
WIRELESS_CLIENT_CERT=''
WIRELESS_CLIENT_KEY=''
WIRELESS_CLIENT_KEY_PASSWORD=''
WIRELESS_DEFAULT_KEY='0'
WIRELESS_EAP_AUTH=''
WIRELESS_EAP_MODE=''
WIRELESS_ESSID='Leap422'
WIRELESS_FREQUENCY=''
WIRELESS_KEY=''
WIRELESS_KEY_0=''
WIRELESS_KEY_1=''
WIRELESS_KEY_2=''
WIRELESS_KEY_3=''
WIRELESS_KEY_LENGTH='128'
WIRELESS_MODE='Master'
WIRELESS_NICK=''
WIRELESS_NWID=''
WIRELESS_PEAP_VERSION=''
WIRELESS_POWER='no'
WIRELESS_WPA_ANONID=''
WIRELESS_WPA_IDENTITY=''
WIRELESS_WPA_PASSWORD=''
WIRELESS_WPA_PSK=''
NETMASK=''
PREFIXLEN=''
+ dhcpd.conf
option domain-name-servers 194.50.85.2, 194.50.85.1;
option routers 192.168.1.254, 192.168.2.254;
option netbios-name-servers 194.50.85.5;
ddns-update-style none;
default-lease-time 14400;
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.137 192.168.1.159;
  default-lease-time 86400;
  max-lease-time 172800;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.137 192.168.2.159;
  default-lease-time 86400;
  max-lease-time 172800;
}
+ hostapd.conf
interface=wlan0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=Leap422
country_code=PH
hw_mode=g
channel=11
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
ap_max_inactivity=300
ieee80211n=1
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=3
wpa_passphrase=myrandompassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP

Но вот устройства подключенные по воздуху не видят устройства подключенные по кабелю. Пробовал присваивать адреса в одной подсети, с маской подсети играться, не только DHCP-сервер перестает работать но и просто перестает раздавать интернет. Смотрел как то делают мост. Но тоже не разобрался. Может кто в курсе, подскажите. А то хотелось бы что б все друг друга видели.
И еще по hostapd.conf, может что лишнее убрать. А то я просто раскомментировал по примеру Gnom остальное оставил как было.
Заранее благодарен. Ушел дитё укладывать.

7

А hostapd настроен на изолирующий режим сети, или на общую для всех сеть (в изолированной сети устройства могут видеть только саму AP, но не другие клиенты)?
P.S. По теме, вам нужно средствами iptables настроить маршрутизацию между сетями на разных интерфейсах, т.е., обмен, например, wlan0 <-> eth0, точные правила не подскажу, но вам нужно ip forwarding.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

8

yars,
Проще мост собрать из eth0+wlan0.

9 (01.02.2017 17:19:00 отредактировано AxelR8)

bormant, как это сделать?
У меня net смотрит в интернет, lan и wlan0 смотрят в локалку. Какие настройки? Что обьединять в мост? Подскажите пожалуйста

10

Сюзеводы, подскажите человеку, как у вас мосты настраивают, на примере lan+wlan0.

11

Сам не делал, но вариантов куча, как оказалось.
Из SUSE documentation

+ открыть спойлер

Bringing Up Multiple Interfaces

For bonds and bridges, it may make sense to define the entire device topology in one file (ifcfg-bondX), and bring it up in one go. wicked then can bring up the whole configuration if you specify the top level interface names (of the bridge or bond):

wicked ifup br0

This command automatically sets up the bridge and its dependencies in the appropriate order without the need to list the dependencies (ports, etc.) separately.

To bring up multiple interfaces in one command:

wicked ifup bond0 br0 br1 br2

Or also all interfaces:

wicked ifup all

https://www.suse.com/documentation/sles … nconf.html

На арчевике еще больше вариантов https://wiki.archlinux.org/index.php/Network_bridge

12

Заработало.
Для lan и wlan0 в ifcfg-lan и ifcfg-wlan0 соответственно прописал

STARTMODE='hotplug'

Или через YaST - System - Network Settings - выбрал интерфейс lan - Edit - отметил No Link and IP Setup (Bonding Slaves) - вкладка General - Device Activation - Activate Device - On Hotplug - Next - Ok
Это же сделал для wlan0
Создал мост br0 - YaST - System - Network Settings - Overview - Add - Device Type - Bridge - Next (F10) - отмечаю Statically Assigned IP Address - IP Address 192.168.1.254 - Subnet Mask 255.255.255.0 - вкладка General - Activate Device - At Boot Time - Assign Interface to Firewall Zone - Internal Zone (Unprotected) - вкладка Bridged Devices - отметил lan и wlan0 - Next (F10) - Ok
Дальше

+ dhcpd.conf
option domain-name-servers 194.50.85.2, 194.50.85.1;
option routers 192.168.1.254;
option netbios-name-servers 194.50.85.5;
ddns-update-style none;
default-lease-time 14400;
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.137 192.168.1.159;
  default-lease-time 86400;
  max-lease-time 172800;
}
+ hostapd.conf
interface=wlan0
bridge=br0 #для того чтобы WiFi раздавал через мост
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=Leap422
country_code=PH
hw_mode=g
channel=11
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
ap_max_inactivity=300
ieee80211n=1
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=3
wpa_passphrase=myrandompassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP

Сделал автозагрузку DHCP
Перезагрузил несколько раз для проверки. Все работает. Проблема решена. Всем спасибо

13

Лирическое отступление:
Конфиги хорошо, но надо учитывать особенности пакетов входящих в дистрибутив.
Иногда быват так что те или иные команды/параметры по идейным соображдениям конктретных сборщиков дистрибутива могут удаляться/добавляться/изменяться.
И тогда что работает в одних дистрибутивах, в другом может вести себя иначе.
Такое происходит не часто, но бывает.
Поэтому если что-то не заработало, что работает у других нужно не полениться и изучить возможные изменения, которые могли быть внесены.

14

Кстати есть на сайте OpenSuse древний мануал по адресу:
https://ru.opensuse.org/Archive:%D0%A1% … VirtualBox

Там есть список необходимых пакетов и в какую сторону копать.
Это как один из варинатов.
Тему закрываю как решеную.