Как сделать свитч из компьютера

Обновлено: 05.07.2024

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

Чем коммутатор отличается от маршрутизатора?

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

Коммутаторы - это устройства, соединяющие элементы компьютерной сети. Они оснащены несколькими гнездами LAN, благодаря которым возможно подключение нескольких устройств, входящих в состав сети, а также обмен данными между ними. Коммутатор (Switch) является самым важным устройством локальной сети Ethernet. Таким образом, вы можете создать домашнюю сеть, соединив вместе несколько компьютеров.

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

Маршрутизатор vs коммутатор - что выбрать?

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

Маршрутизатор используется для распределения интернет-соединения между устройствами. Каждое из них будет иметь гарантированный доступ к интернету в пределах локальной сети.

Покупка коммутатора - на что обратить внимание?

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

Маршрутизатор в качестве коммутатора - как это сделать?

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

Для этого необходимо войти в настройки роутера и перейти на вкладку DHCP. Затем нажать на опцию "Настройки DHPC" или “DHPC Settings” и выбрать "отключено" (“disabled”). На этом этапе изменения нужно сохранить, поскольку вы уже настроили маршрутизатор в качестве коммутатора. Имеющиеся порты можно использовать для подключения необходимого оборудования, например, телевизора, декодера или консоли.

Адреса отдельных устройств загружаются из порта LAN 1, то есть рабочего порта маршрутизатора, а не разветвителя. Разветвитель (старый роутер), работающий в качестве коммутатора только увеличивает возможность подключения большего количества устройств.

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

Лежала как-то небольшая гора металла, из которой удалось собрать:

* Intel Celeron E3300 - двухядерный бомжовский селерон под 775 платформу

* ASUS P5KPL-AM EPU - материнка под 775 платформу с ddr2 памятью (что плохо) и гигабитным ethernet портом (что хорошо)

* DDR2 плашка на 1 gb оперативки

* Пару жестких дисков на 320 гигов каждый

* БП насколько-то, на сколько не помню (работает же)

* Корпус самый обычный

Первая попытка - установить туда windows server 2012 в целях "попробовать" и учебной практики (ключик MS дали сами, типа для студентов).

В итоге: с 1 активным пользователем (локальным администратором) использовано 600-700мб из 1000 всего. Не кайф. Где-то в течении месяца на данном ПК висел просто FTP сервер (filezilla server - отлично работает по ssl и мне показалось что намного проще настраивается, чем дефолтный).

Что интересно: сначала я ради интересна оставил открытым без пароля на запись. сразу (в течении полудня) положили туда Photo.scr, который быстро гуглится, это было забавно и я доступ на запись закрыл. остались попытки с access denied =)

Но мне это надоело, захотелось что-то новенького.

Все это время роутером (маршрутизатором) между моей локальной сетью и внешним миром (внешний адрес) стоял ASUS RT-N65U.

Схема сети - в принципе обычная для обычного нормального человека.

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

И так, погнали.

Рассказ будет без бешеных врезок для ctrl-c ctrl-v, а наоборот с объяснением каждого момента!

Непосредственно рассказ

И тут мне пришла в голову идея: а что если взять этот компьютер, вставить туда вторую сетевую карту, сделать его маршрутизатором (то бишь роутером) и поставить вместо asus'овского роутера?

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

Решено было делать это на базе Ubuntu Server, так как монитор у этого ПК не предполагается и GUI, соответственно, не нужно. Зашел на официальный сайт, скачал образ х64 последней (на тот момент) 16.04 убунты, записал на флешку с ultraiso - втыкаю - не загружается =\ , записал еще раз - тоже самое. Перепробовано 3 метода и 2 образа - не работает, почему было уже лень разбираться. Достал DVD-RW диск (оттуда же откуда и детали) и записал на него. Загрузилось.

В процессе установки ставлю имя ПК HiroXServer, а имя пользователя mark.

По окончании установки и логина в учетку у меня открывается bash

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

Теперь с этого момента схема моей сети выглядит так:

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

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

Итак, вернемся к тому, что есть: сервер-пк, к которому подключены 2 провода - один к провайдеру, второй к коммутатору asus (то что было роутером), отсутствие интернета на всем, в том числе и на сервер-пк. =)

Первым дело я хочу настроить сетевые интерфейсы, их 3:

* lo - loopback - так называемое кольцо, 127.0.0.1, localhost, итд, которое используют некоторые сервисы

* enp3s0 - так у меня называется интерфейс (сетевая карта), что смотрит в сторону провайдера.

* enp1s0 - так у меня называется интерфейс, что смотрит в локальную сеть.

Мой провайдер идентифицирует пользователей по MAC-адресу, а затем выдает мне внешний адрес по DHCP, значит мне нужно выставить mac-адрес.

Конфигурационный файл лежит тут: /etc/network/interfaces

Открываю его nano /etc/network/interfaces.

iface lo inet loopback

auto enp3s0

iface enp3s0 inet dhcp

hwaddress ether AC:22:0B:XX:XX:XX

auto enp1s0

iface enp1s0 inet static

address 192.168.1.1

mask 255.255.255.0

CTRL+O (сохранить) -> Enter -> CTRL+X (выходим из редактора)

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

* перезагрузить компьютер sudo reboot

* перезагрузить саму сеть sudo /etc/init.d/networking restart

Далее запускаем пинг до Google DNS, дабы проверить, что у нас все работает:

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

Отлично! Значит все сделали правильно. Далее нужно сделать так, чтобы пакеты из локальной сети попадали в интернет.

Когда мы работаем из-под root'а, то есть у нас root@HiroXServer:

$ , то нужно, иначе система не даст изменять системные файлы. root - аналог администратора в windows. чтобы зайти в консоль из-под root нужно ввести sudo -i (и ввести пароль)

Первое, что мы делаем - разрешаем пересылку пакетов. Для этого нужно поставить 1 в файл /proc/sys/net/ipv4/ip_forward вручную через nano или такой командой (предварительно зайдя под root через sudo -i ):

echo 1 > /proc/sys/net/ipv4/ip_forward

Второе, что мы делаем: SNAT (Source NAT) или MASQUERADE из локальной сети в интернет. При этом адрес отправителя (например 192.168.1.2) заменяется на внешний адрес сервер-пк, из-за чего он правильно доходит к нам обратно.

sudo iptables -t nat -A POSTROUTING -o enp3s0 -s 192.168.1.0/24 -j MASQUERADE

sudo iptables -t nat -A POSTROUTING -o enp3s0 -s 192.168.1.0/24 -j SNAT --to-source 228.228.228.228 (вместо этого само собой пишем статичный внешний адрес, а если адрес не статичный чтобы его каждый раз не выставлять лучше используем MASQUERADE)

Разберем как это работает:

iptables - инструмент для настройки брандмауэра netfilter в linux

-t или аналог --table - таблица, с которой я хочу работать. Их всего 3: основная filter, nat и mangle.

-A или аналог --append - добавить действие вниз в цепочку. Можно еще -I (insert), но тут роли не играет.

POSTROUTING - цепочка в таблице nat, через которую проходят все пакеты, после маршрутизации. В таблице nat есть еще PREROUTING, INPUT, OUTPUT.

-o - тут указывает из какого интерфейса пакет выходит

-s - указываем из какой сети (!) пакет пришел

-j - указываем действие, которое с этим пакетом нужно совершить

Подробнее об iptables, netfilter и их возможностях можно почитать здесь и здесь.

Далее я рекомендую удалить сразу ubuntu брандмауэр ufw, так как он возможно будет мешать:

sudo apt remove ufw -y

Для того, чтобы убедиться, что у нас все получилось пишем:

sudo iptables -t nat -L

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

В принципе базовая функция маршрутизатора у нас теперь работает работает, но для того чтобы это ощутить с основого пк в моей схеме нужно: настроить asus'овский агрегат в режим коммутатора и выставить ему статический ip, а затем выставить на каждом пк статичный ip. например на настольном ПК у меня будет IP 192.168.1.105.

Первое делается от модели к модели роутеров по разному, в общем нужно заменить режим с "беспроводной маршрутизатор" на "беспроводная точка доступа". В некоторых роутерах эта опция называется "Enable NAT" - ее нужно выключить. Также выставить для роутера статичный IP 192.168.1.2 (в моем случае), маску подсети 255.255.255.0 и основной шлюз 192.168.1.1

Второе - на основном пк идем панель управления -> Центр управления сетями и общим доступом -> Изменение параметров адаптера -> ПКМ по нашему Wifi соединению, свойства -> Протокол Интернета версии 4 , свойства и тут вписываем:

* Маска подсети = 255.255.255.0 (у меня автоматически вставилась)

* Основной шлюз = 192.168.1.1 (адрес сервер-пк)

* Предпочитаемый DNS-сервер = 8.8.8.8

Вуаля и интернет на основном пк опять вернулся. Можно закончить статью

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

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

Для этого нужно настроить DHCP-сервер. Эта служба отвечает за автоматическое присвоение адресов внутри сети на основе рандома или какого-либо правила в конфиге.

Этой службой у нас будет выступать dnsmasq (он же DNS сервер). Попробуйте ввести

Будет ли в ответ что-то типа: "Dnsmasq version 2.76 Copyright (c) 2000-2016 Simon Kelley"?

Если нет, то устанавливаем

sudo apt install dnsmasq -y

и проверяем знакомой командой.

Конфигурационный файл dnsmasq лежит /etc/dnsmasq.conf

Откроем его через nano и заполняем:

dhcp-range=192.168.1.3,192.168.1.200,24h

dhcp-host=60:A4:4C:XX:XX:XX,Mark-PC,192.168.1.105

no-dhcp-interface=enp3s0

dhcp-authoritative

dhcp-leasefile=/var/log/dnsmasq.leases

dhcp-option=2,255.255.255.0

dhcp-option=3,192.168.1.1

CTRL+O (сохранить) -> Enter -> CTRL+X (выходим из редактора)

С полным списком возможных параметров можно ознакомиться здесь.

sudo /etc/init.d/dnsmasq restart

Результат должен быть "ОК"

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

Получился нереально длинный пост. Если тема интересная и зайдет, то продолжу в примерно таком же виде, расскажу как организовать PPTP VPN, OpenVPN сервера, сделать проброс портов, а так же установку dns и прокси-сервера squid с фильтрацией неугодной рекламы во всей нашей сети!

Спасибо тем, кто дочитал пост до конца.

Выслушаю любую критику и предложения.

Не претендую на лучший мануал, ибо где-то что-то мог упустить или подзабыть в процессе написания. Тег "МОЁ", так как моё =)

Читайте также: