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

Маршрутизация между двумя интерфейсами.

 , , ,


0

1

Имею ноут в качестве маршрутизатора, у которого есть доступ в интернет и раздаёт wifi сеть на дом. Имею ПК (Debian) подключенный к ноуту по eth.

Задача: сделать доступ к ПК из wifi сети, чтобы на smart tv открывать DLNA сервер на ПК.

Сразу хочу сказать что я ничего пока не понимаю в этом, но разберусь, и сейчас нужно быстро решить проблему.

~ $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp5s0f5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 84:34:97:71:64:2f brd ff:ff:ff:ff:ff:ff
    inet 10.42.0.1/24 brd 10.42.0.255 scope global noprefixroute enp5s0f5
       valid_lft forever preferred_lft forever
    inet6 fe80::8ad6:32f:7d6e:c783/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 74:f0:6d:9e:16:b2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.75/24 brd 192.168.43.255 scope global dynamic noprefixroute wlp4s0
       valid_lft 3304sec preferred_lft 3304sec
    inet6 fe80::2946:45d0:98e8:2d74/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
~ $ nmap -sn 10.42.0.1/24
Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-21 09:35 EEST
Nmap scan report for 10.42.0.1
Host is up (0.00032s latency).
Nmap scan report for 10.42.0.33         (!!ПК!!)
Host is up (0.00054s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 3.82 seconds

Мне уже бежать за wifi адаптером?!

smart tv подключен по wi-fi как я понимаю?

ЕМНИП DLNA по умолчанию работает в пределах одного сегмента через мультикаст. И если ты не хочешь объединять wi-fi и проводную сеть в один мост, то тогда тебе нужно маршрутизировать мультикаст. Что-то вроде этого. Только у тебя схема будет проще - потому что оба интерфейса подключены к одному и тому же маршрутизатору. То есть достаточно будет включить multicast routing на этих интерфейсах и всё. Поддержка multicast routing есть в quagga и в mrouted.

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

как ноут может раздавать инет если один интерфейс смотрит в домашнюю беспроводную сеть, а другой в домашнюю проводную? или пк с дебианом коннектится откуда-то издалека?

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

Я тебе больше скажу, ноут раздаёт вайфай, на интернет в вайфай другой ноут даёт общий доступ, а на ПК интернет подаётся через кабель. Это всё работает. Но проблема во внутренней сети eth.

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

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

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

Раздача интернета происходит из другого ноута подключённому к hotspot первого.

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

Лучше команды напиши. Я это и так представляю, но не знаю как реализовать.

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

чувак, я не хочу гуглить за тебя. не поленись это сделать сам. тем более, что «ты это и так представляешь».

я сто лет эти мосты не создавал, но грубо говоря что-то типа

brctl create br0

brctl add br0 eno5s0f5

brctl add br0 wlp4s0

ifconfig br0 10.42.0.1

и загугли как включить форвардинг

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

Думал он только хотспот поднимает. Нашёл несколько интересных команд в скрипте. Сейчас попробую сделать.

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

Форвардинг уже включён. Я бридж создавал через networkmanager gui. Попробую сделать начисто с терминала.

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

WLAN-интерфейс — как правило, не Ethernet-устройство. Не всегда его можно добавить в бридж (зависит от драйвера).

Раздача интернета через networkmanager настраивает NAT и DHCP. Если хочется сделать правильно, воспользуйтесь hostapd, и попробуйте добавить Wi-Fi-интерфейс в бридж. Если не получилось — придётся делать L3 proxy (arp-proxy): https://wiki.debian.org/BridgeNetworkConnections#Bridging_with_a_wireless_NIC + https://wiki.debian.org/BridgeNetworkConnectionsProxyArp

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

Что-то я не так сделал, что у меня DNS слетел. Получаю dhcpcd, всё равно интернета нет. Буду разбираться.

Но бридж сработал и я с телефона подключился к ssh ПК. Только вот куда интернет делся.

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

маршрутизация мультикаст-трафика отличается от обычной, там надо связывать подсети отдельно - для того чтобы адрес 226.0.0.1 в подсети где у устройств присвоен 192.168.0.0/24 и такой же адрес в подсети 192.168.1.0/24 были реально единым адресом, трафик к которому доставлялся на все подписанные устройства.

Если непонятно что я имел ввиду, гайд для понимания можно прочесть тут

Но если ТС хочет именно объединить сети, то лучше двигаться в этом направлении, это проще чем маршрутизировать мультикаст

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte
~ $ ip route
default via 192.168.137.1 dev wlp4s0 proto dhcp src 192.168.137.158 metric 303
10.42.0.0/24 dev enp5s0f5 proto kernel scope link src 10.42.0.1 metric 100
10.42.1.0/24 dev wlp4s0 proto kernel scope link src 10.42.1.1 metric 600
192.168.137.0/24 dev wlp4s0 proto dhcp scope link src 192.168.137.158 metric 303
~ $ cat /etc/resolv.conf
# Generated by NetworkManager
~ $
Artamudo ★★★ ()
Ответ на: комментарий от Artamudo

Ну вот и ответ - после твоих манипуляций NetworkManager потерял адрес DNS-сервера и затер тебе конфиг.

Либо настраивай сеть полностью вручную(через /etc/network/interfaces, ссылку я кинул выше, NetworkManager в таком случае настоятельно рекомендую отключить или как минимум сказать ему какие интерфейсы не трогать), либо полностью через NetworkManager(тут я не подскажу)

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

В общем пытаюсь приконектиться к бриджу (в котором eth и wlp) по ssh. Не могу пройти аутентификацию из-за pubkey. На хосте и компе pubkey отключён. К чему я подключаюсь?

Делал всё через gui networkmanager, потому что у меня там всё, плюс бриджи к контейнерам.

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

Ээээ... Это мост у тебя not supported? Ну так тогда фигачь multicast routing или proxy arp, как уже посоветовали, чо сразу-то паниковать, а? :-)

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

Я поднимал ещё через create_ap. Точка создаётся, бридж создаётся, nmap адреса не видит. Только локалхост.

Ну так тогда фигачь multicast routing

Придётся делать. Я хотел иметь доступ к ssh от wifi, но видно не судьба, только если сперва логиниться на ноут, а потом на ПК.

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

Таки заработало. Создал сеть через create_ap без internet sharing и созданный интерфейс кинул в бридж.

Мораль сей истории такова что в топку NetworkManager. Спасибо за помощь.

Artamudo ★★★ ()
Последнее исправление: Artamudo (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.