Навеяно темой.

Помню в конце благославенных 90-х настроить локалку на основе сервера на каком-нибудь первопне с линухом на борту было веселым и беззаботным развлечением. Слава зефирному человеку я не связал жизнь с IT, сетями и…короче линь остался для меня скорее гиковским увлечением, чем работой. Хотя в общем-то и в работе линь плотно идет вместе со всем остальным стеком технологий. И всегда линь ассоциировался с чем-то максимально понятным, документированным, комфортным, надежным.

Позже как-то само получилось, что мои компы были преимущественно MIPSовыми, всякие одноплатники, а работа с сетью выродилась в работу с узкоспецифическими железяками, максимально далекими от всевозможных цисек, микротиков и прочей попсовой ширпотребщины. Короче, в сетях я нуб.

Последние лет 15 отдельные эпизоды из линукс жизни скорее навевали печаль, чем гордость от принадлежности к гикам. Но конкретно вчера я ваще сгорел от того, что не осилил примитивную вещь.

<<<

Короче, сетап. Имеется дом с кучей комнат. В каждой комнате по телеку, возле которого тв-приставка. Приставки с кастомными прошивками под конкретного оператора, причем турецкого. Т.е. приставкам буквально нужны турецкие айишники. Нахера это все нужно человеку я особо не вникал, но что-то он там смотрит, вот прям клин светом сошелся, мол, менять ничего не хочу, просто настрой сеть чтоб приставки ожили. Ну, думаю, херня вопрос, vpn поднять и раздать.

Схема сети такая: от провайдера приходит кабель, воткнут в старенький комп, ip-шник раздает dhcp прова. Интерфейс встроенной гигабитной карточки eno1. Также в компе вставлена WiFi карточка(wlp7s0) и сетевуха на 4 порта (enp3s0, enp4s0, enp5s0, enp6s0). От каждого порта идет кабель, на конце которых 5-портовые свичи, к которым в свою очередь подключены тв-приставки и всякое малозначительное барахло(собственно поэтому там и свичи).

Задача: настроить комп как маршрутизатор, WiFi карту заставить раздать собственно WiFI, на компе поднять vpn, который раздавать по кабелям на свичи с приставками. Разумеется настроить бридж, чтобы компы и принтеры на разных свичах могли друг до друга достучаться.

Про схему не спрашивайте, оно вот уже вот так есть, хозяин менять ничего не хочет, его все устраивает. Ну собственно почему бы и нет? Вроде бы говно вопрос. И тут начинается история почему я криворукий нуб и неосилятор.

Итак, что было сделано. На комп накатил Void Linux(извините, привык к нему просто). Установлены iptables, dnsmasq, hostapd.

Для начала проводная часть:

Вписал в /etc/sysctl.conf

net.ipv4.ip_forward=1

И принял изменения:

sudo sysctl -p /etc/sysctl.conf

Присвоил интерфейсам айпишники:

sudo ip addr add 192.168.3.1/24 dev enp3s0
sudo ip addr add 192.168.4.1/24 dev enp4s0
sudo ip addr add 192.168.5.1/24 dev enp5s0
sudo ip addr add 192.168.6.1/24 dev enp6s0

Затем пишу правила для iptables:

Очищаю правила:

sudo iptables -t nat -F
sudo iptables -t nat -X

Настраиваю дроп по умолчанию:

sudo iptables -P FORWARD DROP

Устраиваю маскарад и указываю от каких интерфейсов слушать пакеты:

sudo iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE
sudo iptables -A FORWARD -i eno1 -o enp3s0 -j ACCEPT
sudo iptables -A FORWARD -i eno1 -o enp4s0 -j ACCEPT
sudo iptables -A FORWARD -i eno1 -o enp5s0 -j ACCEPT
sudo iptables -A FORWARD -i eno1 -o enp6s0 -j ACCEPT

ИИИИИИиии вот тут первый тупняк. Вбиваю проверку таблицы…

sudo iptables -n -L -t nat

…но в ответ получаю пустую таблицу правил. Не понял. Разве я не должен был тут увидеть установленные правила?

Ладно, едем пока дальше, настраивает dhcp раздачу айпишников:

Редактирую /etc/dnsmasq.conf

interface=enp3s0
dhcp-range=192.168.3.100,192.168.3.200,255.255.255.0,12h

interface=enp4s0
dhcp-range=192.168.4.100,192.168.4.200,255.255.255.0,12h

interface=enp5s0
dhcp-range=192.168.5.100,192.168.5.200,255.255.255.0,12h

interface=enp6s0
dhcp-range=192.168.6.100,192.168.6.200,255.255.255.0,12h

Перезапускаю службу, успешно:

sudo sv restart dnsmasq

Проверяю что айпишники присвоились…

ip link show

…айпишники всем портам присвоились, state UP.

Разумеется уже на стадии пустой таблицы правил iptables стало понятно, что работать не будет. Ну собственно и не работает. Приставки айпишники не получают, хотя и показывают статус подключено.

Лллладно. Пока туплю, думаю, подниму раздачу вафли.

Конфигурирую файл /etc/hostapd/hostapd.conf

interface=wlp7s0
ssid=MyBestWiFi
channel=1
hw_mode=g
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=my_best_password
wpa_key_mgmt=WPA-PSK

Принимаю изменения:

sudo hostapd -B /etc/hostapd/hostapd.conf

Дописываю правила в таблицу правил, которые в нее не вписываются:

sudo iptables -A FORWARD -i wlp7s0 -o eno1 -j ACCEPT

Дописываю в /etc/dnsmasq.conf

interface=wlp7s0
dhcp-range=192.168.7.100,192.168.7.200,255.255.255.0,12h

Ну и стартую сервис:

sudo sv start hostapd

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

С чего конкретно я угорел.

  1. Нахера надо было закапывать ifconfig и изобретать велосипед с ip?

  2. Нахера в системах по умолчанию отдают управление сраному NetworkManager? Я наверное полчаса не мог понять почему через ip у меня не присваиваются айпишники, пока не понял, что процесс занят утилитой nmcli. Разумеется было снесено к херам за ненабностью.

  3. Чо за херня с таблицей iptables? Почему она пустая?

В общем, объясните где я дебил и как мне это осилить?

@Anoxemian, @cocucka

  • JamesHolden
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    Т.е. приставкам буквально нужны турецкие айишники

    В целом, такое начало уже говорит, что лучше тут последовать совету Гендальфа - пеките голубцы отсюдова! В техническую сторону я бы уже не вникал.

    • OberstserjOP
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      В целом, такое начало уже говорит, что лучше тут последовать совету Гендальфа - пеките голубцы отсюдова!

      И да и нет. Если б я не знал этого человека лично, то послал бы. Но тут все банально. Чувак предприниматель, возит турецкие товары в Нидерланды. Смотрит какие-то местные экономические каналы, где постоянно есть инфа, которая ему нужна, которая тупо появляется там быстрее, чем везде(по его словам). Ну вот привык он так. Насколько я понял, сам турецкий вендор не против и не блочит заход с впн, а тупо исполняет дебильный закон от турецкого аналога ркн, который заставляет лочить приставки.

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

      Насчет идеи просто заменить его роутер на роутер с OpenWRT - да, работает, но это просто личная просьба чувака настроить старый комп. Нууу…мне-то чо. Говно вопрос, думал я, пока не понял, что перестал понимать что за херня сейчас происходит в лине.

  • JamesHolden
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    WPA-PSK

    А точно тебе надо именно это, и точно телефон это поддерживает?

    • OberstserjOP
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      WPA-PSK

      А точно тебе надо именно это

      В смысле? Это ж протокол для шифрования и аутентификации. Как без него?

      Ну и да, любой смартфон поддерживает.

        • OberstserjOP
          link
          fedilink
          arrow-up
          0
          ·
          10 months ago

          Приехали. Я и этого уже не знаю. Дай штоль ссылку, а то википедия чет только общую инфу кажет, без всякого ряда.

          • JamesHolden
            link
            fedilink
            arrow-up
            0
            ·
            10 months ago

            Я не разбираюсь в hostapd, но вот там примеры есть

            https://wireless.docs.kernel.org/en/latest/en/users/documentation/hostapd.html

            там еще дополнительные опции, которых у тебя нет, задают wpa_pairwise вариант.

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

            • OberstserjOP
              link
              fedilink
              arrow-up
              0
              ·
              10 months ago

              Спасибо, щас почитаю, тут подробнее. А то я вчера конфиг курил, выродил только то, что выродил.

  • Anoxemian
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    Да, намудил. Сетап норм, не сы, прорвемся.

    1. -P DROP убери кхуям.
    2. я бы все 4 порта и вавай в бридж пихнул. Нахуя столько сетей, чтобы что? О_о
    3. с iptables вообще не понял. вводишь правила и тишина? исследуй на тему симулякра к nft, может тут косяк какой?
    • Anoxemian
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      Ну и да, в моем представлении после твоих махинаций сеть должна была отвалиться напрочь. Это так?

      • OberstserjOP
        link
        fedilink
        arrow-up
        0
        ·
        10 months ago

        сеть должна была отвалиться напрочь. Это так?

        От провайдера? Не, все ок, живо. Нууу…на самом компе) Прямо сейчас никакой другой сети и нет пока)

        • Anoxemian
          link
          fedilink
          arrow-up
          0
          ·
          10 months ago

          На самом понятно, изнутри сети что-то работает?

          • OberstserjOP
            link
            fedilink
            arrow-up
            0
            ·
            10 months ago

            изнутри сети что-то работает?

            Ну на компе тырнет пашет без проблем.

            • Anoxemian
              link
              fedilink
              arrow-up
              0
              ·
              10 months ago

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

        • OberstserjOP
          link
          fedilink
          arrow-up
          0
          ·
          10 months ago

          и да покажи

          Млин, ща, я не дошел еще туда. Минут через 20-30 все покажу.

        • OberstserjOP
          link
          fedilink
          arrow-up
          0
          ·
          10 months ago

          ip a:

          : lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UP 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 proto kernel_lo 
                 valid_lft forever preferred_lft forever
          2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
              link/ether 2c:44:fd:27:84:7f brd ff:ff:ff:ff:ff:ff
              inet 192.168.1.241/24 brd 192.168.1.255 scope global dynamic noprefixroute eno1
                 valid_lft 86327sec preferred_lft 75527sec
              inet6 fe80::fad3:6505:2262:746/64 scope link 
                 valid_lft forever preferred_lft forever
          3: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
              link/ether 98:b7:85:21:c3:a7 brd ff:ff:ff:ff:ff:ff
          4: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
              link/ether 98:b7:85:21:c3:a8 brd ff:ff:ff:ff:ff:ff
          5: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
              link/ether 98:b7:85:21:c3:a9 brd ff:ff:ff:ff:ff:ff
          6: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
              link/ether 98:b7:85:21:c3:aa brd ff:ff:ff:ff:ff:ff
          7: wlp7s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
              link/ether 18:56:80:4a:91:7e brd ff:ff:ff:ff:ff:ff
          

          ip r l:

          default via 192.168.1.1 dev eno1 proto dhcp src 192.168.1.241 metric 1002 
          192.168.1.0/24 dev eno1 proto dhcp scope link src 192.168.1.241 metric 1002 
          

          ip ru l:

          0:	from all lookup local
          32766:	from all lookup main
          32767:	from all lookup default
          

          Блин, тут чувак свет вырубил, ключи от щитка у него, свичи обесточены. Сцукко…)))

          • Anoxemian
            link
            fedilink
            arrow-up
            0
            ·
            10 months ago

            Бро, все плохо. Все пропало))))

            ip link set enp3s0 up
            ip link set enp4s0 up
            ip link set enp5s0 up
            ip link set enp6s0 up
            ip link set wlp7s0 up
            

            Они у тебя погашены тупо. Ну и таки

            iptables -P FORWARD ACCEPT
            
            • OberstserjOP
              link
              fedilink
              arrow-up
              0
              ·
              10 months ago

              Они у тебя погашены тупо. Ну и таки

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

              С этим не было проблем, они получают state UP, получают айпишники.

              iptables -P FORWARD ACCEPT

              Попробую. Вот сейчас смотри, вбиваю вот это, а потом пишу

              sudo iptables -n -L -t nat
              

              И получаю хйу:

              Chain PREROUTING (policy ACCEPT)
              target     prot opt source               destination         
              
              Chain INPUT (policy ACCEPT)
              target     prot opt source               destination         
              
              Chain OUTPUT (policy ACCEPT)
              target     prot opt source               destination         
              
              Chain POSTROUTING (policy ACCEPT)
              target     prot opt source               destination   
              

              А, ну и да, iptables с репозитория установлен. Вроде как полноценный.

              • Anoxemian
                link
                fedilink
                arrow-up
                0
                ·
                10 months ago

                iptables -P FORWARD ACCEPT

                это таблица filter а ты смотришь nat

                iptables -t filter -L -nxv и iptabpes -t nat -L -nxv

                  • Anoxemian
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    10 months ago

                    Ну ты ж понимаешь, что нездоровая хуйня)

                  • Anoxemian
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    10 months ago

                    sudo -i есть шанс, что поломаный?

            • OberstserjOP
              link
              fedilink
              arrow-up
              0
              ·
              10 months ago

              Блин, сорян, чел укатил в Брабант, сегодня кина не будет. Могу только с вавайем поиграться.

              Я, вчера чет психанул и снес конфиг. Щас восстановлю, попробую хотя б wifi раздать

    • OberstserjOP
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      -P DROP убери кхуям.

      Чо так? Давай, уберу. Думал сделать шоб по дефолту все слушали всех.

      я бы все 4 порта и вавай в бридж пихнул

      Ваще именно это и хотел, и оно у меня чет тоже не завелось. Создал bridge0 интерфейс, но затык где-то в iptables как мне показалось.

      Нахуя столько сетей, чтобы что? О_о

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

      с iptables вообще не понял. вводишь правила и тишина?

      Ну собственно в чем и суть. Вбивая правила, а они в пустоту улетают, таблица остается пустая. Чо за херня? Где туплю?

      исследуй на тему симулякра к nft, может тут косяк какой?

      nftables который? Тоже херня, которая мимо моего внимания прошла. Что это?

      • Anoxemian
        link
        fedilink
        arrow-up
        0
        ·
        10 months ago

        Это перепиленный iptables, но к нему оставили старый интерфейс в виде собственно iptables, просто обертка. which iptables ну посмотри, скриптуха это или бинарник

  • Anonymous
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    В какое же унылое *ерьмо превратилась работа с сетью в этих наших линухах :(

    Ну дык возьми FreeBSD, делов то (:

    На линуксах не только работа с сетью дерьмо, но и много чего еще, что было уже написано в прошлой теме

    Дают вам борежстенную фряху, но нет вы идёте колупать линукс из говна и палок

      • Minona
        link
        fedilink
        arrow-up
        0
        ·
        10 months ago

        Её хоронят столько же сколько и винду.

    • OberstserjOP
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      Ну дык возьми FreeBSD, делов то (:

      Да не вопрос, возьму. Тут интересно понять чо за херня с iptables. Вчера нашел похожий вой на паре форумов и стало понятно, что все-таки не я тут дебил, а реально с линуксами какое-то дерьмо происходит в последнее время.

      Дают вам борежстенную фряху, но нет вы идёте колупать линукс из говна и палок

      Ну давай честно, фряха тоже не эталон. Построить бесшовный WiFi с железками на фряхе нельзя, там в принципе нет таких инструментов.

      Да и если и брать альтернативу линю, то уж тогда опёнок.

      • xintrea
        link
        fedilink
        arrow-up
        0
        ·
        10 months ago

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

        Исправление работы сети в Debian 9 https://webhamster.ru/mytetrashare/index/mtb0/1608211716mizuhd7bf7

        Как перечитать (перезагрузить) настройки сетевого интерфейса в Debian? https://webhamster.ru/mytetrashare/index/mtb0/16896631599yhbblkdri

        О чем говорит ошибка “RTNETLINK answers: File exists” https://webhamster.ru/mytetrashare/index/mtb0/1573627504ohrszck9ao

        По моим ощущениям, когда начали проталкивать NetworkManager и когда стали запрещать ifconfig/ifup/ifdow в пользу недоделаного ip, тогда вся эта бодяга и началась. И до сих пор на 12-м Debian такая же свистопляска.

        • OberstserjOP
          link
          fedilink
          arrow-up
          0
          ·
          10 months ago

          Блин,я не отписался о результатах. Короче, у меня проблема реально оказалась с инвалидным iptables. Он тупо не принимает правила. Хотел запилить в багзиллу, но там уже протухли старые жалобы. За долгие годы сидения на воиде впервые натыкаюсь на такой позорный косяк в настолько важной утилите.

          По моим ощущениям, когда начали проталкивать NetworkManager и когда стали запрещать ifconfig/ifup/ifdow в пользу недоделаного ip, тогда вся эта бодяга и началась.

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

          ip link в целом допилили, но я так и не понял нахрена вообще оно надо было? Велосипединг ради велосипединга? Ситуация, когда скилы в linux отличаются от дистрибутива к дистрибутиву говорит о том, что за 30 лет линь не выработал хоть какие-то стандарты. А глядя на современных мейнтейнеров становится совсем грустно.

          • VIT
            link
            fedilink
            arrow-up
            0
            ·
            10 months ago

            А глядя на современных мейнтейнеров становится совсем грустно.

            Ты будешь сначала удивляться, а потом заметишь, что эта тенденция сохраняется не только в среде мейнтейнеров. Это называется “старость”, ну или “опыт”, “мудрость”, как тебе больше нравится. Привыкай!

          • JamesHolden
            link
            fedilink
            arrow-up
            0
            ·
            10 months ago

            То есть, в войде тупо сломан iptables??

            • OberstserjOP
              link
              fedilink
              arrow-up
              0
              ·
              10 months ago

              Да, верно. Сломан, причем давно. И всем походу насрать.

          • Anoxemian
            link
            fedilink
            arrow-up
            0
            ·
            10 months ago

            Так ты проверил, у тебя nftables установлен?

            Package: nftables
            Version: 1.0.9-1build1
            Priority: standard
            Section: net
            Origin: Ubuntu
            Maintainer: Ubuntu Developers <[email protected]>
            Original-Maintainer: Debian Netfilter Packaging Team <[email protected]>
            Bugs: https://bugs.launchpad.net/ubuntu/+filebug
            Installed-Size: 185 kB
            Depends: libnftables1 (= 1.0.9-1build1), libc6 (>= 2.34), libedit2 (>= 3.1-20130611-0)
            Recommends: netbase
            Suggests: firewalld
            Homepage: https://www.netfilter.org/
            Task: standard
            Download-Size: 69.8 kB
            APT-Manual-Installed: yes
            APT-Sources: https://mirrors.xtom.ee/ubuntu noble/main amd64 Packages
            Description: Program to control packet filtering rules by Netfilter project
             This software provides an in-kernel packet classification framework that is
             based on a network-specific Virtual Machine (VM) and the nft userspace
             command line tool. The nftables framework reuses the existing Netfilter
             subsystems such as the existing hook infrastructure, the connection tracking
             system, NAT, userspace queueing and logging subsystem.
             .
             nftables replaces the old popular iptables, ip6tables, arptables and ebtables.
             .
             Netfilter software and nftables in particular are used in applications such
             as Internet connection sharing, firewalls, IP accounting, transparent
             proxying, advanced routing and traffic control.
             .
             A Linux kernel >= 3.13 is required. However, >= 4.14 is recommended.
            

            Если да, то замени просто команду iptables на iptables-nft

            • OberstserjOP
              link
              fedilink
              arrow-up
              0
              ·
              10 months ago

              Через него и решил. Установил, завелось. iptables снес.

            • OberstserjOP
              link
              fedilink
              arrow-up
              0
              ·
              10 months ago

              Чтоб не плодить темы, накидай плиз варианты как вывести через локалку картинку на мониторы за свичами? Только RDP/VNC или есть что модное-молодежное?

              • Anoxemian
                link
                fedilink
                arrow-up
                0
                ·
                10 months ago

                Да, удаленку vnc/rdp/nomachine и аналоги. Модно - apache guacomole. Если чисто стримить, то это более другое)

                • OberstserjOP
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  10 months ago

                  apache guacomole

                  О, вот! Похоже. Спасибо, гляну.

                  Если чисто стримить, то это более другое

                  Имеешь в виду в сеть или через локалку, не понял