Навеяно темой.
Помню в конце благославенных 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
Сеть появляется, но при подключении смартфон вылетает по тайм ауту.
С чего конкретно я угорел.
-
Нахера надо было закапывать ifconfig и изобретать велосипед с ip?
-
Нахера в системах по умолчанию отдают управление сраному NetworkManager? Я наверное полчаса не мог понять почему через ip у меня не присваиваются айпишники, пока не понял, что процесс занят утилитой nmcli. Разумеется было снесено к херам за ненабностью.
-
Чо за херня с таблицей iptables? Почему она пустая?
В общем, объясните где я дебил и как мне это осилить?
@Anoxemian, @cocucka

Ну дык возьми FreeBSD, делов то (:
На линуксах не только работа с сетью дерьмо, но и много чего еще, что было уже написано в прошлой теме
Дают вам борежстенную фряху, но нет вы идёте колупать линукс из говна и палок
Мертвая система. Зачем она нужна и кому? Только крипту.
Её хоронят столько же сколько и винду.
Да не вопрос, возьму. Тут интересно понять чо за херня с iptables. Вчера нашел похожий вой на паре форумов и стало понятно, что все-таки не я тут дебил, а реально с линуксами какое-то дерьмо происходит в последнее время.
Ну давай честно, фряха тоже не эталон. Построить бесшовный WiFi с железками на фряхе нельзя, там в принципе нет таких инструментов.
Да и если и брать альтернативу линю, то уж тогда опёнок.
Я перестал понимать что происходит с сетью в 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 такая же свистопляска.
Блин,я не отписался о результатах. Короче, у меня проблема реально оказалась с инвалидным iptables. Он тупо не принимает правила. Хотел запилить в багзиллу, но там уже протухли старые жалобы. За долгие годы сидения на воиде впервые натыкаюсь на такой позорный косяк в настолько важной утилите.
Представь меня, кто с сетями не работает. В студенческие времена на первом пне шлюз делали с ворохом патч-кордов на все здание, а тут затык на элементарной задаче. Непередаваемое ощущение того, что ты деградировал)))
ip link в целом допилили, но я так и не понял нахрена вообще оно надо было? Велосипединг ради велосипединга? Ситуация, когда скилы в linux отличаются от дистрибутива к дистрибутиву говорит о том, что за 30 лет линь не выработал хоть какие-то стандарты. А глядя на современных мейнтейнеров становится совсем грустно.
Ты будешь сначала удивляться, а потом заметишь, что эта тенденция сохраняется не только в среде мейнтейнеров. Это называется “старость”, ну или “опыт”, “мудрость”, как тебе больше нравится. Привыкай!
То есть, в войде тупо сломан iptables??
Да, верно. Сломан, причем давно. И всем походу насрать.
Так ты проверил, у тебя 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Через него и решил. Установил, завелось. iptables снес.
Чтоб не плодить темы, накидай плиз варианты как вывести через локалку картинку на мониторы за свичами? Только RDP/VNC или есть что модное-молодежное?
Да, удаленку vnc/rdp/nomachine и аналоги. Модно - apache guacomole. Если чисто стримить, то это более другое)
О, вот! Похоже. Спасибо, гляну.
Имеешь в виду в сеть или через локалку, не понял