Какая система лучше всего подходит для х86-роутера?
=====================================================

 Хочу собрать роутер на базе ПК и полностью изучить все сетевые нюансы, от и до. Хочу научиться администрировать исключительно через терминал, без web-gui, не просто копипастингом конфигов и команд, а применять их осознанно. В то же время, есть мнение, что сразу нужно учиться правильным вещам, на правильной системе, в которой всё прозрачно и понятно, и не бывает случайных глюков, когда что-то настроено правильно, но оно не работает просто потому что погода на Юпитере и вообще "42". Какую систему порекомендуете? 

 RouterOS, JunOs, FreeBSD, любой Linux server, IOS, ddwrt. 

 Остановитесь на debian и openbsd. 

 Не думаю, что есть большой смысл собирать роутер, для обучения на практике.  

1) Эксперементировать с конфигами на боевом железе - дурной тон.  

2) Неудачная попытка настройки оставит тебя без интернета - главного помощника в решении проблемы.  

3) В реальности от домашнего роутера требуется не так много, поэтому построить сложную конфигурацию, и протестировать ее на практике, без соответствующей сети, не получится.  
  

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

Для этого есть разные варианты PacketTracer от Cisco, или опенсорсные разработки вроде GNS3 или UnetLab. 

 "- А куда ты хочешь попасть? - спросил Кот  

- А все равно куда - ответила Алиса  

- Ну тогда все равно куда и идти..." (С)  
  

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

Если хотите просто поизучать, как настроить роутер на UNIX - можно и несколько вариантов попробовать. Проблема здесь не столько в том, чтобы попробовать, сколько в дальнейшей применимости знаний. Скажем, пересесть с FreeBSD на CentOS - довольно просто. А вот с CentOS на Gentoo - уже посложнее будет. Есть безусловно некий общий массив знаний, но программный роутер обычно строится на базе обычного дистриба - и тут выбор дистриба имеет существенное значение. 

 Всячески рекомендую [VyOS](https://vyos.io/) - это дебиан, обвязанный скриптами, делающими его похожим по использованию на Junos, и сохраняя возможность поковыряться в линуксовых кишках.  

Есть реализации основных сетевых протоколов и технологий (bgp, ospf, firewall/nat, туннели и всякое другое по мелочи). Удобный терминал с подсказками. В потрохах - Quagga, которая делалась как клон Cisco, так что при обретении опыта с VyOS и Циски и Джуны будут казаться близкими родственниками.  

Кроме того, всегда есть обычный линуксовый bash и остальное, что дает возможность и его завхатить. 

 Ubuntu server - самое большое сообщество и всегда помогут если что не знаешь.  
  

Но для начала я бы советовал не циклиться на терминале. Поставьте с GUI (LDE/XFCE - довольно легкие). Терминал там тоже есть, но можно рядом броузер открыть с советами и помощью. 

 Если так хочется изучить линуксы то самый лучший вариант поставить себе на десктоп\ноутбук обычную десктопную систему без варианта загрзуки\дуалбута с виндой. Для начала что нибудь типа opensuse\арча\убунты. Когда пройдет с полгода-год и появятся проблески в понимании и удобстве\неудобстве можно думать о роутере и лучший вариант будет что то на WRT прошивке обычного роутера. А уже после этого двигаться в сторону х86 больших домашних серверов. 

 Если задача стоит именно в настройке стабильного домашнего роутера на ПК, я бы остановился на pfSense(*BSD) и его форках. Если же хочется еще и поковыряться самому в конфигах, тогда любой линух и вперед изучать iptables. 

 Если учиться правильным вещам, то FreeBSD или Ubuntu server(mini.iso)(как упрощенный для изучения вариант).  

Если нужно готовое решение с кучей примочек и довольно простое для понимания новичкам, то на мой взгляд лучше Pfsense(вебморда на основе FreeBSD 10 - на youtube по нему есть масса туториалов). 

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

Например фаервол pf, который начался с OpenBSD портирован во FreeBSD (pfSence на нем построен), так же есть и на линуксе и т.д.  
  

Важнее понимание принципов работы сети, а не конкретной реализации.  

Именно понимание принципов (теории) даст осознанность действий.  
  

Берите ту ОС с которой вы непосредственно работаете и навыки в которой вы можете применить в жизни вот прям сейчас. Нет идеальной ОС, они все могут делать примерно одно и то же (с разной эффективностью, но эффективность часто зависит от кривизны рук) и даже винда. Полученный опыт на одной ОС легко переносится на любую другую, т.к. принципы работы сети везде одинаковы. 

 Для изучения "полностью всех сетевых нюансов" вам нужны специализированные железки с их ОС -- Cisco или Juniper.  
  

А так -- вы сможете изучить НЕКОТОРОЕ КОЛИЧЕСТВО сетевых настроек ДЛЯ КОНКРЕТНОЙ ОС, не более того.  
  

Что касается выбора системы, то при необходимости пилить роутер на обычном железе, я бы ставил BSD. 

 OpenWrt, разумеется, она сделана именно под ваши цели.