Как настроить Ubuntu Server в качестве маршрутизатора с использованием PPPoE —

Ubuntu Server технически разработан как операционная система с интерфейсом командной строки только для CLI для использования с большими большими железными серверами, но нет никаких причин, по которым он не может работать в маршрутизаторах и встроенных системах, которые также управляют протоколом «точка-точка» через Ethernet. Предполагается, что для такого проекта нужен небольшой ПК без вентилятора или какой-либо маршрутизатор, который вы можете изменить с помощью флеш-чипа NAND. Скорее всего, вы собираетесь установить приличный объем оперативной памяти, а также твердотельный диск, чтобы устранить шум и движущиеся части. Возможно, вам будет интересно использовать конвертер SDHC-SATA, чтобы вы могли запустить всю операционную систему с SD-карты. SD-карты, вставленные в боковые слоты на устаревшем оборудовании, также могут загружать операционную систему. Это работает при использовании его с системой PPPoE просто отлично.

Хотя вы можете подумать, что использование такого рода конфигурации может быть медленным без надлежащего электромеханического жесткого диска, вы фактически теоретически сократили бы время доступа. Ubuntu Server настолько мал, что все равно быстро загружается. После того, как вы установили свой маршрутизатор, вы, вероятно, не будете часто его включать и выключать. Независимо от того, какую конфигурацию вы выберете, вы должны указать своему браузеру https://www.ubuntu.com/download/server, чтобы загрузить ISO. На момент написания этой статьи новейшая версия Ubuntu Server 16.04.1 LTS предназначена только для использования с 64-разрядными архитектурами. Большинство современных маршрутизаторов и устройств с тонким клиентом прекрасно выполняют это требование, но это может быть проблемой, если вы пытались сделать что-то действительно экзотическое, например, использовать нетбук в качестве маршрутизатора.

Настройка сервера Ubuntu в качестве маршрутизатора PPPoE

Несколько крупных сетей ISP все еще требуют аутентификации PPPoE. Почти все сети DSL используют это, и хотя это не нужно при работе с оптоволоконным соединением, некоторые из них все еще фактически используют это. Маршрутизаторы Netgear предлагают приглашение для входа в систему, которое позволяет легко подключаться к сетям такого типа, но потребуется определенная работа, чтобы правильно настроить собственный маршрутизатор Linux для работы с такой технологией.

Если вас нет в вашем браузере, перейдите на страницу http://releases.ubuntu.com/16.04.1/. Вы могли бы загрузить ISO-файл с этой страницы, если у вас его нет, но как только он у вас появится, прокрутите вниз до ссылки, которая читает MD5SUMS, и выберите ее.

В командной строке CLI запустите md5sum в ISO-образе Ubuntu Server и убедитесь, что он соответствует номеру рядом с убунт-16,04-настольный amd64.iso в листинге.

Если это произойдет, подготовьте полностью пустую карту памяти USB или SD-карту и введите sudo if = ubuntu-16.04-desktop-amd64.iso из = / dev / sdLetter bs = 8M, замена приглашения of = на имя соответствующего устройства. Ты можешь использовать sudo fdisk -l найти все устройства, подключенные к вашей системе. Как только вы это сделали, правильно извлеките диск и подключите его к системе маршрутизатора. Перезагрузите его и нажмите любую клавишу, необходимую для загрузки указанной системы со съемного носителя. Ubuntu Server устанавливается относительно легко на основе ряда текстовых запросов ncurses.

Однако одной из проблем, возникающих при его установке таким образом, является то, что для съемного носителя во время установки потребуется подключение к Интернету, а при подключении такой коробки напрямую к сети возникают некоторые проблемы с безопасностью. Подключите его к одному из сетевых портов вашего старого маршрутизатора, чтобы предоставлять услуги брандмауэра до тех пор, пока вы его не запустите. Как только вы это сделаете, вам нужно будет внести некоторые изменения в загрузчик GRUB. Если возможно, то как можно скорее отключите маршрутизатор Linux от существующей машины, чтобы продолжить установку в автономном режиме. Это предотвратит странные проблемы с DHCP, которые вы могли бы получить в существующем соединении в противном случае.

Скорее всего, вы не захотите устанавливать какое-либо дополнительное программное обеспечение в процессе настройки операционной системы. GRUB автоматически загружается при установке Ubuntu Server по умолчанию, что означает, что вы не увидите никаких отладочных сообщений. Если после загрузки вы видите мигающий курсор, на котором больше ничего нет, нажмите и удерживайте клавиши Ctrl, Alt и F1, чтобы перейти к виртуальной консоли. Войдите в свою учетную запись, а затем введите  хотя вы можете также использовать вместо этого vi. Найдите строку, которая гласит GRUB_CMDLINE_LINUX_DEFAULT = «тихий всплеск» и удалить тихий всплеск слова в кавычках. Вы также хотите отредактировать строку, которая гласит GRUB_CMDLINE_LINUX = ”” для включения net.ifnames = 0 biosdevname = 0 в двойных кавычках правильно назвать ваши сетевые карты. Сохраните файл и затем запустите sudo update-grub, чтобы обновить загрузчик, поскольку файл grub, вероятно, фактически находится на каком-то разделе UEFI.

Найдите строку, которая гласит GRUB_CMDLINE_LINUX_DEFAULT = «тихий всплеск» и удалить слова «тихий всплескВ кавычках. fsafa

Это будет пират.

Тип судо нано   чтобы открыть файл интерфейсов для редактирования, а затем изменить имена сетевых карт, которые вы там находите, обратно на традиционные eth0 а также eth1, затем сохраните файл и выйдите. Как только вы выйдете из файла, вы можете перезагрузить систему, чтобы изменения вступили в силу должным образом.

Теперь вам нужно установить соответствующее программное обеспечение PPPoE и OpenSSL для завершения установки. Вы можете установить DNS, DHCP, PPPoE и OpenSSL с одной проблемой командной строки:

sudo apt-get установить bind9 isc-dhcp-сервер openssl pppoeconf

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

Ваш провайдер предоставляет вам имя пользователя и пароль, которые вам необходимо ввести в файл chap-secrets. Тип  но помните, что вы все равно можете использовать vi, если хотите. Ваше имя пользователя и пароль должны быть указаны. Например, вы потенциально можете:

«Билли» * «mypass3»

Сохраните файл и перейдите к  Вы найдете файл с названием провайдер в этом каталоге. Откройте его с помощью nano, как вы делали с другими файлами конфигурации, или создайте новый таким же образом. Поместите каждую из этих команд в отдельную строку в файле:

noipdefault

defaultroute

replaceddefaultroute

упорствовать

плагин rr-pppoe.so eth0

пользователь «Билли»

Вы также можете ввести Hide-Password и Noauth, если вы не хотите использовать приглашения для входа в систему, так как вы собираетесь использовать это как маршрутизатор, а не как реальную рабочую машину с обычным интерфейсом. Замените имя billy на фактическое имя пользователя, которое у вас есть, а затем запустите pon provider или имя файла, который вы создаете для подключения. Он должен давать вам любые соответствующие сообщения об ошибках в процессе, но вы можете использовать ifconfig, чтобы найти сетевой интерфейс ppp0 или ppp1. Вам нужно будет сослаться на это позже. Вы можете добавить usepeerdns, если хотите запросить у партнера пару адресов DNS-серверов, которые затем передаются  в качестве переменных среды помечены DNS2 и DNS1. Вы также принудительно вызовете переменную среды USEPEERDNS установить себе на 1, а также. Если вы предпочитаете использовать свои собственные DNS-серверы, а не серверы, назначенные вам вашим Интернет-провайдером, вы можете добавить строки в свой  файл, такой как:

 

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

В большинстве случаев ваш MTU установлен на уровне около 1500, но самое высокое вы сможете получить около 1492 или, возможно, даже меньше, так как вы используете интерфейс PPPoE. Предполагая, что вы определили максимальный MTU для вашей системы ppp0 или ppp1, вам нужно будет использовать  открыть файл ip-up и затем добавить строку / sbin / ifconfig ppp0 mtu #### в самом низу, заменяя #### с вашим правильным значением. Это может быть где-то около 1480, если вы не уверены.

Во многих руководствах вам будет предложено установить соединение eth0 WAN с DHCP, но вам нужно установить его вручную, поскольку соединение PPPoE у вас позади. использование  и отредактируйте его так, чтобы блок кода под # Сетевым интерфейсом WAN читал руководство по автоматической установке eth0 и iface eth0, а затем блок кода под ним должен выглядеть так:

# Сетевой интерфейс локальной сети

авто eth1

iface eth1 inet static

адрес 192.168.1.1

маска сети 255.255.255.0

Маршрутизаторы должны активировать переадресацию пакетов, чтобы действовать как маршрутизатор, поэтому используйте  а затем удалите знак числа перед net.ipv4.ip_forward = 1 перед сохранением. Вы найдете его в кавычке, которая гласит # Раскомментируйте следующую строку, чтобы включить пересылку пакетов для IPv4, но вы также можете удалить метку перед net.ipv6.conf.all.forwarding = 1, если вы планируете использовать Маршрутизация IPv6, которая может быть проблемой в системе PPPoE.

Откройте файл iptables для редактирования с помощью  команда, а затем добавить эти строки к нему:

 

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

Теперь вам нужно изменить разрешения для рассматриваемого файла, так что вы можете использовать sudo -i или sudo bash для получения приглашения root. Как только вы используете:

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

Следующий файл конфигурации, который мы должны открыть  и вы будете редактировать его точно так же. Вам необходимо добавить следующие настройки, заменив octothorpes с правильным IP-адресом для вашего маршрутизатора:

подсеть ###. ###. ##. # маска сети 255.255.255.0 {

        спектр ###.###.##.### ###.###.##.###;

        опциональные маршрутизаторы ###. ###. ##. #;

        опция доменные имена-серверы ###. ###. ##. #;

        опция широковещательного адреса ###. ###. ##. ###;

    }

Сохраните и закройте файл. Если вы работаете с SD-картой или чем-то подобным, то это еще один хороший момент для выполнения команды синхронизации.

Вам нужно использовать судо нано еще раз, чтобы открыть  файл, чтобы включить ваши собственные пользовательские правила. Мы все еще работаем с соединением PPPoE, поэтому мы будем использовать файл устройства ppp0 вместо значения по умолчанию eth0.

Под блоком кода, который начинается с комментария «# Зажим MSS к размеру MTU,»Включают следующую строку:

-FORWARD -p tcp –tcp-flags SYN, RST SYN -j TCPMSS –clamp-mss-to-pmtu

Это правило требуется для предотвращения загрузки веб-страниц только наполовину или по истечении времени ожидания. Вместо этого он соединяет MTU и MSS вместе, поэтому у вас не возникнет этих проблем. Теперь это позволяет ядру Linux угадывать правильные размеры, но вы можете указать их при необходимости. Под блоком кода, который начинается с «# Укажите размер MSS,Вам нужно добавить:

-FORWARD -p tcp –tcp-flags SYN, RST SYN -j TCPMSS –set-mss ####

Замените раздел #### на правильное значение MSS. Вы можете понять это с небольшим количеством математики. Вычтите размер заголовка PPPoE из MTU, а затем вычтите заголовок IP и заголовок TCP. Разница заключается в общем размере MSS.

Возможно, вам придется изменить правило службы SSH, чтобы добавить параметр –syn, который позволит вам получить доступ к SSH к этому маршрутизатору с другого компьютера, зарегистрированного в вашей локальной сети. Комментирование правила службы ICMP заставит ваш компьютер не отвечать ни на один пинг. Это на самом деле сделает ваш компьютер довольно незаметным, хотя вы не должны рассматривать это как какое-то конечное средство, которое делает ваши привычки просмотра через этот маршрутизатор невидимыми. Это не будет, но это еще один уровень безопасности, чтобы защитить вас.

Иногда интерфейсы или соединения PPPoE, с которыми вы работаете, на самом деле не сразу подключаются при загрузке маршрутизатора, поэтому вы можете захотеть создать короткий сценарий запуска, чтобы убедиться, что он работает правильно при загрузке системы. Это только добавляет около 8-10 секунд к общему времени загрузки, так что оно того стоит. Изменить  файл с sudo nano еще раз, а затем добавить

спать 3

ifup eth0

спать 3

ifup eth1

спать 3

провайдер пон

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

Это должно запускать команды pon и ifup после полной загрузки системы, но до того, как появятся приглашения для входа в виртуальную консоль. Если соединение установлено, то вообще ничего не происходит, но если одно из соединений не работает должным образом, этот сценарий обеспечит его правильную инициализацию. Последняя команда pon опирается на eth0 и eth1, поэтому вы всегда должны позиционировать ее как последний шаг, иначе скрипт может действительно потерпеть неудачу.

Как только вы перезагрузите компьютер после внесения всех этих изменений, у вас будет полнофункциональный маршрутизатор, работающий на Ubuntu Server. Вы можете иногда использовать sudo iptables-L если вам нужно время от времени проверять их состояние, но в противном случае все будет работать так же хорошо, если не лучше, чем у серийно выпускаемого маршрутизатора. Ваш новый маршрутизатор будет запускать любые другие необходимые пакеты Ubuntu, но вам не нужно устанавливать X-сервер или что-либо еще, потому что система должна работать правильно, без необходимости в дополнительном программном обеспечении пользовательского интерфейса.

Ссылка на основную публикацию
Adblock
detector