x86-роутер из старого ПК на Athlon II: домашняя сеть на Linux
Старый компьютер не обязательно отправлять на дачу или разбирать на запчасти. Даже система десятилетней давности способна стать производительным маршрутизатором, домашним сервером и сетевым шлюзом одновременно. В этой статье разберём, как собрать роутер из старого ПК на Linux, подключить к нему интернет, организовать локальную сеть и раздачу Wi‑Fi.
Для проекта подойдёт практически любой компьютер с Debian или Ubuntu Server, двумя сетевыми интерфейсами и возможностью подключить беспроводную точку доступа. Единственное важное ограничение - тип подключения провайдера. Рассмотренная схема не включает настройку PPPoE, поэтому при таком способе доступа потребуется дополнительно настроить соответствующее соединение.
Зачем превращать компьютер в роутер
Обычный домашний маршрутизатор ограничен возможностями встроенной прошивки и аппаратными ресурсами. Компьютер на x86 заметно мощнее: он может одновременно маршрутизировать трафик, работать VPN-шлюзом, запускать сетевое хранилище, блокировщик рекламы, сервер печати или другие сервисы.
В качестве основы использовался старый ПК со следующей конфигурацией:
- AMD Athlon II X2 250;
- 8 ГБ оперативной памяти DDR3 в двухканальном режиме;
- материнская плата ASRock 760GM-GS3;
- SSD на 128 ГБ;
- HDD на 500 ГБ.
Для браузинга и современных повседневных задач такой компьютер уже слаб, однако для маршрутизации его производительности более чем достаточно. В результате получается полноценный компьютер для роутера x86, который способен обслуживать домашнюю сеть с большим запасом.
У материнской платы была только одна встроенная сетевая карта, поэтому потребовался дополнительный интерфейс. Для подключения к провайдеру выбрана Intel I210 - недорогой адаптер, хорошо поддерживаемый Linux. Драйвер входит в ядро, а устройство обычно определяется сразу после установки системы.
Для беспроводного доступа использовался Huawei AX1 Lite. Его можно перевести в режим моста или точки доступа. В таком варианте устройство не занимается маршрутизацией и DHCP, а лишь обеспечивает Wi‑Fi и подключение проводных клиентов. Общая стоимость дополнительного оборудования составила менее 2000 рублей. Тем, кто планирует сетевое оборудование для дома купить, подобная связка может оказаться выгоднее производительного готового роутера.
Перед началом настройки на точке доступа следует задать имя беспроводной сети и пароль, отключить DHCP и выбрать режим моста, точки доступа или аналогичный режим - конкретное название зависит от производителя. IP-адреса клиентам будет выдавать Linux-компьютер.
Подготовка Linux
После установки Debian или Ubuntu Server подключаемся к системе и переходим в root:
```bash
su -
```
Обновляем пакеты:
```bash
apt update && apt upgrade
```
Затем устанавливаем необходимые компоненты:
```bash
apt install nftables dnsmasq
```
`nftables` отвечает за фильтрацию и трансляцию сетевых адресов, а `dnsmasq` будет выдавать клиентам IP-адреса и при необходимости выполнять роль локального DNS-сервера.
Сначала включим маршрутизацию IPv4. Для этого добавляем в `/etc/sysctl.conf` строку:
```text
net.ipv4.ip_forward=1
```
Применить параметр без перезагрузки можно командой:
```bash
sysctl -p
```
Далее нужно определить имена сетевых интерфейсов:
```bash
ip link
```
В рассматриваемой конфигурации `enp2s0` - это Intel I210, подключённая к провайдеру, а `enp3s0` - встроенный Realtek, используемый для локальной сети. У вас названия могут отличаться, поэтому их необходимо проверить самостоятельно.
Настройка сетевых интерфейсов
В файле `/etc/network/interfaces` задаём статический адрес для LAN и параметры внешнего интерфейса. Пример конфигурации:
```text
auto lo
iface lo inet loopback
auto enp2s0
iface enp2s0 inet dhcp
auto enp3s0
iface enp3s0 inet static
address 192.168.10.1
netmask 255.255.255.0
```
Здесь `enp2s0` получает адрес от провайдера или внешнего устройства, а `enp3s0` становится шлюзом локальной сети с адресом `192.168.10.1`.
Изменения можно применить перезапуском сетевой службы:
```bash
systemctl restart networking
```
Если конфигурация не активировалась, интерфейсы можно поднять вручную:
```bash
ifdown enp3s0 && ifup enp3s0
```
NAT через nftables
Чтобы устройства из домашней сети могли выходить в интернет через один внешний адрес, требуется настроить NAT. В `/etc/nftables.conf` размещаем правила:
```text
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain forward {
type filter hook forward priority filter;
policy accept;
}
}
table ip nat {
chain postrouting {
type nat hook postrouting priority srcnat;
oifname "enp2s0" masquerade
}
}
```
Маскарадинг заменяет внутренние адреса клиентов адресом внешнего интерфейса. В результате провайдер видит трафик, исходящий от маршрутизатора, а ответы возвращаются нужным устройствам локальной сети.
Проверить синтаксис можно командой:
```bash
nft -c -f /etc/nftables.conf
```
После этого запускаем службу и добавляем её в автозагрузку:
```bash
systemctl enable --now nftables
```
При желании правила можно расширить: запретить нежелательные входящие соединения, разрешить только определённые направления трафика, включить журналирование или добавить перенаправление портов.
DHCP и DNS
Осталось настроить выдачу адресов клиентам. В файле `/etc/dnsmasq.conf` достаточно указать интерфейс LAN и диапазон DHCP:
```text
interface=enp3s0
bind-interfaces
dhcp-range=192.168.10.100,192.168.10.200,255.255.255.0,12h
dhcp-option=3,192.168.10.1
dhcp-option=6,192.168.10.1
```
Здесь клиентам выдаются адреса от `192.168.10.100` до `192.168.10.200`, шлюзом указывается `192.168.10.1`, а DNS-запросы также направляются на маршрутизатор.
Запускаем сервис:
```bash
systemctl enable --now dnsmasq
```
Если DHCP ранее работал на Huawei AX1 Lite, его необходимо отключить. В сети должен оставаться только один DHCP-сервер, иначе устройства могут получать противоречивые настройки.
Тем, кто хочет глубже разобраться, как настроить роутер Linux, пригодится подробное практическое описание конфигурации интерфейсов, NAT и `dnsmasq`: настройка x86-роутера на Linux.
Проверка и дальнейшее расширение
После перезапуска служб подключаем компьютер или точку доступа к LAN-порту сервера. Клиент должен получить адрес из заданного диапазона, шлюз `192.168.10.1` и доступ в интернет. Проверить состояние можно командами:
```bash
ip addr
ip route
systemctl status dnsmasq
nft list ruleset
```
Если интернет не работает, сначала стоит проверить кабели и правильность имён интерфейсов. Затем - наличие маршрута по умолчанию, включённый `ip_forward`, правила NAT и отсутствие второго DHCP-сервера.
Такой роутер из старого ПК на Linux можно постепенно превратить в многофункциональный домашний узел. На нём легко разместить SSH, файловое хранилище, медиасервер, резервное копирование, Pi-hole или другой блокировщик рекламы. Также можно добавить WireGuard, прокси, сетевой мониторинг и отдельные VLAN для гостевых устройств и умного дома.
Важно учитывать энергопотребление: старый настольный компьютер обычно потребляет больше специализированного роутера. Перед круглосуточной эксплуатацией стоит измерить расход электричества и при необходимости настроить энергосбережение, отключение лишних дисков и автоматическое снижение частоты процессора.
В итоге даже старый Athlon II способен стать надёжной основой домашней сети. Если уже есть подходящий корпус, накопитель и блок питания, такой вариант позволяет купить роутер на x86 фактически без крупных затрат - достаточно добавить вторую сетевую карту и недорогую Wi‑Fi-точку доступа. Vega? No. Главное - аккуратно настроить адресацию, DHCP, маршрутизацию и правила безопасности.


