Меню

Настройка маршрутизатора в линуксе



Как на Linux настроить интернет?

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

Именно для таких новобранцев постоянно растущей армии Linux я и решил написать небольшую заметку о том, как на Linux настроить интернет самому. Так же хочу показать, как можно настроить свой роутер и как прописать клонированный MAC адрес, если это необходимо. Итак, где же искать эти настройки интернета в Linux?

Вообще существуют два (как минимум) вида провайдеров, которые подключают услугу интернета:

1. Телефонная компания, которая по вашему телефонному проводу подаёт дополнительный DSL сигнал.

2. Провайдер, который тянет свои сетевые провода по подвалам и подъездам и предоставляет вам интернет на основе вашего уникального MAC адреса.

Тут настройка доступа к Интернет в Ubuntu Linux будет разная, но и в том и другом случае ничего сложного обычно нет. Коротко расскажу о том, как настроить интернет в linux и в том, и в другом случае.

1. Как на Linux настроить интернет через DSL модем?

Тут есть два варианта: или осуществлять подключение к интернету через технологию DSL в самом модеме, или уже непосредственно на компьютере. Что лучше? Тут всё зависит от обстоятельств.

В первом случае интернет будет доступен всем пользователям компьютера, так как будет подключаться автоматически. Во втором случае подключать интернет нужно будет непосредственно каждому пользователю. И если у вас есть дети и у них отдельный аккаунт в Linux (или Windows), то это хорошо, негоже детям лазить самим по глобальной сети.

Но тут есть и минусы: если у вас wifi роутер, то второй вариант не очень удобен, так как потребует настройку DSL подключения на каждом устройстве. А на планшете это не удобно, а порой и просто невозможно.

У меня детей нет, поэтому я предпочитаю первый вариант: раз настроил и забыл. А вы решайте сами.

Как настроить интернет в самом роутере или маршрутизаторе, или DSL модеме (называют и так, и так)? Я покажу вам на своём примере.

Откройте свой браузер и введите введите в адресную строку адрес роутера. Обычно он такой: 192.168.1.1 и введите потом логин и пароль — обычно это admin и admin.

В разных модемах и роутерах будет разный интерфейс, но если вы поймёте суть, то вам будет не сложно.

1. Нужно во первых изменить режим модема с Bridge на PPPoE.

2. После этого вам нужно ввести свой логин и пароль, которые вам дал провайдер.

После этого сохраняем настройки и ждём, пока модем перезагрузится. Теперь у вас должен появиться интернет, можно найти вкладку СТАТУС тут же и посмотреть, появились там адреса провайдера.

Если у вас не просто роутер, а wifi роутер, то можно настроить тут же и беспроводную связь. Тут тоже нет ничего сложного. Ищем тут же вкладку с названием WIRELESS.

1. Активируем беспроводный модуль, поставив галочку на Activated.

2. Задаём SSID (имя нашей беспроводной сети — любое слово латинскими буквами) и метод шифрования (можно любой).

3. Придумываем пароль латинскими буквами и цифрами (не меньше 8 символов).

Всё, сохраняем настройки и ищем через какое то время нашу сеть на ноутбуке или планшете. Тут всё просто: в Linux есть на панели задач значок беспроводной сети. Тыкаем по нему курсором и нажимаем левую кнопку мышки. Нам покажут все доступные сети. Выбираем нашу и нажимаем кнопку ПОДКЛЮЧИТЬ. Вводим придуманный нами пароль и радуемся:)

А что если мы решили настроить DSL или PPPoE подключение не в роутере, а на самом компьютере? Тогда в модеме нужно поставить опцию BRIDGE и больше ничего не настраивать.

Идём опять же в панель задач и щёлкаем на значке сетевого подключения и выбираем пункт ИЗМЕНИТЬ СОЕДИНЕНИЯ. Переходим на вкладку DSL и настраиваем новое соединение.

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

2. Как настроить интернет в Linux при LAN подключении?

Честно говоря не помню, как это называется, когда провайдер предоставляет прямое подключение по локальной сети. Но суть там проста: к вам домой подводят сетевой кабель, который вы втыкаете прямо в компьютер. Приходит мастер, смотрит ваш уникальный MAC адрес и передаёт его провайдеру.

Теперь интернет будет автоматически работать на вашем компьютере. Но если вы подключите к этому кабелю другой компьютер, то интернет работать уже не будет, так как MAC адрес у этого компьютера совсем другой. И даже если вы подключите роутер, то и он работать сразу не будет, так как и у него другой MAC адрес.

Но вопрос решается просто. Нужно узнать наш эталонный MAC адрес и прописать его в роутер. В любом роутере есть такая функция, и сделать это не сложно, и найти это меню можно по слову CLONE MAC — клонирование mac адреса, или что-то подобное. После этого интернет должен заработать. Если нужно настроить беспроводную сеть, то делаем так же, как описано выше.

Если же вы хотите просто подключать разные компьютеры к одному кабелю, то в этом случае вам нужно на втором, третьем и так далее компьютере прописать эталонный MAC адрес. Как это сделать?

Заходим опять в сетевые подключения — ИЗМЕНИТЬ СОЕДИНЕНИЯ — ПРОВОДНЫЕ. У нас там должно отображаться хотя бы одно наше сетевое подключение. Выделяем его и жмём кнопку слева — ИЗМЕНИТЬ.

Теперь вписываем в поле КЛОНИРОВАННЫЙ АДРЕС наш эталонный MAC адрес, по образцу основного MAC адреса, через двоеточие. Все, теперь и второй ноутбук или компьютер будет работать от этого же кабеля.

Конечно, одновременно два компьютера не включишь, для этого нужен роутер, но это по крайней мере что-то. Если будут вопросы, пишите, попробую помочь!

Не нашли ответ на свой вопрос? Воспользуйтесь поиском.

Источник

Маршрутизация в Linux

Эта статья одна из статей про работу сетей в Linux. Вы уже знаете, что все данные в сети передаются в виде пакетов, а чтобы компьютер знал куда нужно отправить тот или иной пакет используются IP адреса. Но пакету, перед тем, как он достигнет точки назначения нужно пройти множество компьютеров и маршрутизаторов.

Читайте также:  Dead island настройка конфига

Каждому из маршрутизаторов нужно знать на какой компьютер передавать пакет дальше. Именно это мы и обсудим в этой статье. Сегодня нас будет интересовать маршрутизация в Linux, как это работает, как настроить правила и заставить все работать как нужно.

Сетевые маршруты в Linux

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

Когда компьютеру нужно отправить пакет в сеть он смотрит таблицу маршрутизации, в ней указанны ip адреса пунктов назначения и адреса интерфейсов и роутеров в домашней сети, которые могут отправить пакет по нужному адресу. Если для цели маршрут не указан то используется так называемый шлюз по умолчанию или маршрут по умолчанию. Точно такая же картина наблюдается на роутере. Устройство смотрит на IP адрес назначения и сверяет его со своей таблицей маршрутизации, а потом отправляет дальше.

Ниже мы рассмотрим как проверить текущие маршруты в системе, а также как настроить новые.

Как посмотреть таблицу маршрутизации

Перед тем как что-либо менять, нужно понять какие правила уже используются. В Linux для этого существует несколько команд. Чтобы посмотреть таблицу маршрутизации можно использовать команду route:

Вот так выглядит таблица маршрутизации linux. Тут выводится достаточно простая информация, которой не всегда достаточно чтобы понять суть дела. Более подробно можно посмотреть с помощью команды routel:

Тут вы уже можете видеть IP адрес цели (target), IP адрес шлюза (gateway), IP отправителя (source), протокол, и даже сетевой интерфейс. Но самый удобный способ посмотреть таблицу маршрутизации linux — это команда ip:

Вывод похож на результат предыдущей команды, но выглядит не совсем привычно, это потому, что вывод команды можно использовать в качестве аргумента для ip route add или ip route del. Это очень удобно. Как вы видите, в качестве шлюза по умолчанию везде используется 192.168.1.1. Рассмотрим подробнее что означает вывод этой команды:

  • default — в данной строке означает вариант по умолчанию. Здесь должен быть ip адрес цели или маска подсети;
  • via 192.168.1.1 — указывает через какой шлюз мы можем добраться до этой цели, у нас это 192.168.1.1;
  • dev enp2s0 — сетевой интерфейс, с помощью которого будет доступен этот шлюз;
  • proto static — означает, что маршрут был установлен администратором, значение kernel значит что он был установлен ядром;
  • metric — это приоритет маршрута, чем меньше значение — тем выше приоритет.

А теперь рассмотрим выполняется настройка маршрутов Linux.

Настройка маршрутов в Linux

Вы можете настраивать таблицу маршрутизации с помощью команды ip. Например, чтобы изменить маршрут по умолчанию достаточно выполнить:

ip route add default via 192.168.1.1

Так вы можете добавить маршрут для любого IP адреса, например, для 243.143.5.25:

sudo ip route add 243.143.5.25 via 192.168.1.1

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

В операционных системах семейства Red Hat используются конфигурационные файлы /etc/sysconfig/network-scripts/route-ethX. Каждый файл может описывать несколько маршрутов, например:

GATEWAY=10.10.0.1
NETMASK=255.0.0.0
IPADDR=10.10.0.22

Здесь gateway — шлюз по умолчанию для этого интерфейса, netmask — маска сети, а ipaddr — ip адрес интерфейса. В Debian и основанных на нем дистрибутивах можно настроить маршруты в файле /etc/network/interfaces. Здесь команда route добавляется в секцию iface. Например:

up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1

С помощью опции -net мы указываем целевую сеть, netmask — это маска сети, а gw — шлюз. Все очень просто. Теперь добавленные маршруты останутся даже после перезагрузки.

Выводы

В этой небольшой статье мы кратко рассмотрели как работает маршрутизация в Linux, как выполняется настройка маршрутизации в linux, а также зачем это нужно. Надеюсь, эта информация была полезной для вас.

Источник

Компьютер с Linux как альтернатива маршрутизаторам

Прогресс не стоит на месте, и компьютеры, казавшиеся в прошлом или позапрошлом году одними из самых мощных, по своей производительности уже не дотягивают до компьютеров сегмента low-end нынешнего поколения.

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

Для решения этих проблем при условии, что компьютер дома выключается редко (что у активных пользователей Интернета бывает в 80% случаев), можно из старого «железа» со­здать простой маршрутизатор на основе Linux, который позволит пользоваться несколькими сетями сразу и одновременно повысит уровень компьютерной грамотности пользователя. Сетевые устройства для конечных пользователей в основном рассчитаны на одного провайдера Интернета (имеется один WAN-порт для подключения к сети провайдера), а что делать, если их несколько? Эту проблему тоже решает компьютер-маршрутизатор!

В данной статье мы рассмотрим компьютер с установленной операционной системой семейства Linux, который будет выполнять функцию маршрутизатора и межсетевого экрана между несколькими сетями. Операционная система на базе Linux выбрана исходя из того, что системы этого семейства поддерживают основную часть нового и старого аппаратного обеспечения и в большей степени ориентированы на конечного пользователя, чем, например, операционные системы семейства BSD (OpenBSD, FreeBSD). Поскольку читатели уже должны иметь представление о системах семейства Linux, мы опус­тим подробное описание установки и отладки этой системы, а рассмотрим превращение ее в маршрутизатор. При этом будет применяться статическая маршрутизация, при которой все IP-адреса и другие параметры сети с течением времени остаются неизменными.

Основным пакетом, одновременно являющимся межсетевым экраном и позволяющим перенаправлять сетевой трафик и обрабатывать пакеты, служит iptables, входящий в большинство дистрибутивов Linux с ядром 2.4.х и выше. Другое название этого пакета — netfilter; сайт его разработчика находится по адресу www.netfilter.org. В более ранних версиях операционных систем Linux этот пакет назывался ipchains или ipfwadm. Для операционных систем семейства BSD альтернативой ему является программа ipfw.

Читайте также:  Viguard 4g cam настройка

Рассмотрим следующий пример конфигурации сети на предполагаемом компьютере-маршрутизаторе:

  • сеть с диапазоном IP-адресов 192.168.192.0-192.168.192.255 (сокращенная запись — 192.168.192.0/24 или 192.168.192.0/255.255.255.0) является локальной сетью в квартире. Туда входит несколько компьютеров, их адреса назначаются вручную. Компьютер, который служит маршрутизатором (в дальнейшем — просто сервер), имеет в этой сети IP-адрес 192.168.192.1;
  • сеть с диапазоном IP-адресов 10.0.0.0-10.255.255.255 (10.0.0.0/8 или 10.0.0.0/255.0.0.0) является локальной сетью одного из домовых провайдеров. Сервер имеет в этой сети IP-адрес 10.156.10.100, а шлюзом, выводящим сервер в локальную сеть, служит компьютер с IP-адресом 10.156.0.17. DNS-серверы доступны всегда и имеют IP-адреса 10.0.0.1 и 10.0.0.2;
  • сеть с диапазоном IP-адресов 192.168.0.0-192.168.255.255 (192.168.0.0/16 или 192.168.0.0/255.255.0.0) является локальной сетью другого провайдера. Сервер в этой сети имеет IP-адрес 192.168.11.188, шлюзом является компьютер с IP-адресом 192.168.11.1. DNS-сервер этой сети — 192.168.1.1.

Каждый из провайдеров выдает «серый» IP-адрес для клиентов в Интернете, то есть пользователи находятся за NAT.

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

  • процессор не менее Pentium II с частотой 400 МГц;
  • оперативная память не менее 128 Мбайт (оптимально 256 или 512 Мбайт);
  • жесткий диск 10 Гбайт;
  • три сетевые карты (это более оптимальное по производительности решение, чем одна на все три сети).

Настройка маршрутизации

Для того чтобы настроить локальные сети на сервере, необходимо каждой из сетевых карт прописать соответствующие настройки, для чего в Linux предусмотрена команда управления сетевыми интерфейсами ifconfig. По умолчанию каждому сетевому интерфейсу, работающему в сети Ethernet, назначается одно из виртуальных наименований вида ethX, где X — порядковый номер интерфейса в системе. Подкорректировать конфигурацию каждого из сетевых интерфейсов можно, выполнив следующие команды:

Ifconfig eth0 192.168.192.1 255.255.255.0

Ifconfig eth1 10.156.10.100 255.0.0.0

Ifconfig eth2 192.168.11.188 255.255.0.0

Проверить работоспособность интерфейсов можно посредством команды ping, обращенной к шлюзам локальных сетей:

ping 10.156.0.17

ping 192.168.11.1

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

Как и в среде Windows, в операционной системе Linux существует команда route, которая позволяет управлять и просматривать таблицу маршрутизации на компьютере, но, поскольку системы различны, синтаксис этих команд несколько различается. В системах семейства Linux для просмотра таблицы маршрутизации необходимо выполнить команду route -n, при этом ключ «-n» выводит только IP-адреса, без возможности провести соответствие с DNS-сервером. Пример вывода этой команды приведен на рисунке.

Вывод команды route -n

Для того чтобы четко задать маршруты к определенным адресам, необходимо воспользоваться следующей командой:

route add –host ip gw ipgw dev ethX,

где ip — IP-адрес компьютера, к которому прокладывается маршрут; ipgw — IP-адрес шлюза локальной сети, через которую прокладывается маршрут; X — номер сетевого интерфейса, соответствующий локальной сети провайдера, через которого прокладывается маршрут.

Поскольку в примере приведены IP-адреса DNS-серверов, необходимо четко указать к ним маршруты:

route add –host 192.168.1.1 gw 192.168.11.1 dev eth2

route add –host 10.0.0.1 gw 10.156.0.17 dev eth1

route add –host 10.0.0.2 gw 10.156.0.17 dev eth1

Затем следует прописать DNS-серверы на сервере, хотя это и необязательно, ведь он будет выполнять лишь роль маршрутизатора. Для этого в файле /etc/resolv.conf необходимо по порядку прописать DNS-провайдеров (в самом файле приведен пример записи DNS-серверов).

После ввода этих нехитрых команд можно перейти непосредственно к организации маршрутизации на компьютере-сервере. По умолчанию маршрутизация пакетов отключена. Для ее включения необходимо набрать в командной строке следующую команду:

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

Чтобы при следующей перезагрузке этот параметр сохранился, необходимо отредактировать файл /etc/sysctl.conf и поменять в нем ноль на единицу в этом же параметре (net.ipv4.ip_forward). Тогда при следующей перезагрузке системы маршрутизация пакетов будет включена автоматически.

Теперь рассмотрим сам межсетевой экран iptables. Он представляет собой последовательность цепочек, заключенных в таблицы, по которым в определенной последовательности проходит пакет данных. Для таблицы netfilter, правила которой можно получить по команде iptables -L, первоначально пакет входит в цепочку INPUT, затем переходит в цепочку FORWARD, а потом уходит через цепочку OUTPUT, если, конечно, правила в цепочке этому не препятствуют. Данное объяснение довольно примитивно, однако оно дает четкое представление о принципе работы iptables.

Для осуществления маршрутизации пакетов необходимо в таблицу nat (она отвечает за маршрутизацию пакетов) добавить правила, которые бы регулировали прохождение пакетов с того или иного интерфейса. Поскольку в задачу сервера входит работа по обеспечению доступа в Интернет и сети провайдеров, сети с IP-адресами из локальной сети 192.168.192.0/24, необходимо в командной строке прописать:

iptables -t nat –A POSTROUTING –s 192.168.192.0/255.255.255.0 –j MASQUERADE,

где -t — ключ, который указывает на используемую таблицу (в данном случае это таблица маршрутизации — nat); -A — ключ, который указывает на добавление правила к цепочке POSTROUTING. В таблице nat присутствуют три цепочки: PREROUTING, POSTROUTING и OUTPUT, по смыслу очень схожие с цепочками из основной таблицы netfilter; -s — ключ, определяющий исходящие адреса компьютеров, на которые будет действовать правило (в данном случае диапазон локальной сети); -j — ключ, указывающий на действие, которое будет происходить с пакетом, определенным ранее указанными параметрами. Действие MASQUERADE обозначает не что иное, как подмену исходящего адреса пакетов с IP-адресов локальной сети на IP-адрес сервера, то есть так называемый SNAT. Существует и отдельное правило SNAT, но в нем необходимо указывать точный IP-адрес сервера через дополнительный параметр —to-source, а поскольку точно не известно, на какой из интерфейсов пойдет запрос (для eth1 необходимо назначить параметру IP-адрес 10.156.10.100, а для eth2 192.168.11.188), правило MASQUERADE в данном случае подходит лучше всего. Отметим, что политика MASQUERADE часто «забывает» о завершении соединения, а это при большой активности может отражаться на производительности системы. Также стоит обратить внимание на регистр прописываемых команд: они должны точно соответствовать описанному ранее, в противном случае iptables выдаст ошибку, так как в системе Linux регистр является критичным параметром при вводе любых команд.

Читайте также:  Настройки skype в реестре

Дать одному из пользователей локальной сети доступ в другую сеть, что иногда необходимо, можно, прописав подобную команду, только для ключа -s надо указать IP-адрес этого пользователя и добавить ключ -d, чтобы пользователь имел доступ только к конкретной сети или адресу, например:

iptables –t nat –A POSTROUTING –s 192.168.11.33 –d 10.156.15.150 –j MASQUERADE

Также необходимо учитывать, что этот пользователь должен находиться с сервером в одной подсети; если это не так, пользователь не сможет прописать на своем компьютере в таблицу маршрутизации маршрут, проходящий через сервер. Чтобы добавить в таблицу маршрутизации дополнительный маршрут, необходимо выполнить следующие действия (команды описываются для клиентов систем Windows):

route add ip mask x.x.x.x gw –p,

где ip — IP-адрес или диапазон адресов, к которому прописывается маршрут; x.x.x.x — маска подсети для указанного IP; gw — IP-адрес сервера, через который будет проходить маршрут; -p — ключ, добавляющий маршрут к постоянному списку маршрутов.

Применительно к приведенному примеру, где локальному пользователю с IP-адресом 192.168.11.33 позволяется обращаться к ресурсу с IP-адресом 10.156.15.150 другой сети, команда выглядит следующим образом:

route add 10.156.15.150 mask 255.255.255.255 192.168.11.188 –p

После установки этих настроек пользователи локальной сети 192.168.192.0/24 получают доступ в локальные сети. Для проверки работоспособности каждому из клиентов этой сети необходимо прописать в качестве шлюза IP-адрес сервера — 192.168.192.1 и добавить DNS-серверы обоих провайдеров.

Поскольку каждый из провайдеров предоставляет услугу доступа в Интернет с «серым» IP-адресом, для работы с Интернетом необходимо указать на сервере шлюз одного из провайдеров, который будет использоваться системой по умолчанию, например 10.156.0.17. Для этого в командной строке нужно прописать следующую команду:

route add default gw 10.156.0.17 dev eth1

Защита маршрутизатора

Поскольку маршрутизатор не выполняет никаких функций, кроме перенаправления пакетов, можно заблокировать доступ к большинству служб, оставив только доступ к администрированию. Чтобы маршрутизация работала, при блокировке входящих соединений необходимо в таблицу netfilter и ее цепочку FORWARD прописать правило, которое разрешает доступ клиентов к локальной маршрутизации. Сделать это можно так:

iptables –A FORWARD –s 192.168.192.0/255.255.255.0 –j ACCEPT,

где -A FORWARD — указание на используемую цепочку; -s — указание на диапазон IP-адресов, к которым применяется правило; -j ACCEPT — правило разрешения доступа.

Для организации доступа к администрированию сервера по протоколу ssh (используется практически во всех Linux-системах) необходимо также добавить следующее правило:

iptables –A INPUT –s 192.168.192.0/255.255.255.0 –j ACCEPT

То есть клиенты локальной сети 192.168.192.0/24 могут соединяться с сервером по протоколу ssh. Теперь необходимо заблокировать доступ всем остальным адресам к серверу следующей командой:

iptables –P INPUT DROP,

где ключ -P указывает на применение политики DROP ко всей цепочке INPUT. Таким правилом блокируется доступ к серверу любых пакетов, не входящих в правило с политикой ACCEPT. Это одно из грубых решений, однако оно наиболее эффективно для борьбы с хакерами, которые часто обитают внутри локальных сетей (поскольку скорость соединения в локальной сети значительно выше, чем в Интернете, хакеры гораздо более настойчивы и атака типа DDoS может оказаться очень эффективной).

В качестве последнего штриха необходимо сохранить правила в файле /etc/sysconfig/iptables при помощи команды:

iptables-save > /etc/sysconfig/iptables

чтобы при следующей перезагрузке система автоматически подгрузила правила цепочек.

Если в дальнейшем планируется дополнительное изменение цепочек iptables, чтобы каждый раз не применять команду iptables-save, можно в файле /etc/sysconfig/iptables-config изменить значение IPTABLES_SAVE_ON_RESTART с «no» на «yes», поскольку в некоторых версиях Linux сохранение цепочек отключено по умолчанию.

Восстановление работоспособности

В локальных сетях нередко случаются неполадки, и сеть бывает недоступна в течение нескольких часов, а то и дней. Причиной этого может служить гроза, снегопад или злой умысел. В рассматриваемом случае имеются сети двух провайдеров, и задача заключается в том, чтобы обеспечить пользователей непрерывным доступом в Интернет. Для этого можно написать небольшой скрипт на языке bash, который будет исполняться демоном crond (этот демон служит аналогом планировщика задач) в определенное время.

Создадим файл в папке /root с названием checker и внесем в него следующие строки:

#!/bin/bash

date >> /tmp/chk.log

ethernet2=`route | awk ‘/default/ ’`

if [ $ethernet2 = 192.168.11.1 ]

then

route add –host ya.ru gw 10.156.0.17 dev eth1

ethernet3=`ping -c 7 ya.ru | awk ‘/received/ ’`

else

ethernet3=0

fi

if [ $ethernet3 > 3 ]

then

route del default

route add default gw 192.168.11.1 dev eth1

fi

ethernet=`ping -c 7 ya.ru | awk ‘/received/ ’`

if [ $ethernet > 3 ]

then

echo «First ISP working fine» >> /tmp/chk.log

else

echo «First ISP: connection lost» >> /tmp/chk.log

route del default

route add default gw 192.168.11.1 dev eth2

echo «Second ISP connected» >> /tmp/chk.log

fi

Этот небольшой скрипт, как только его исполняет crond, посылает семь пакетов к сайту ya.ru на предмет его доступности. Если получено более трех пакетов от запрашиваемого узла (то есть чуть меньше половины), скрипт добавляет в файл chk.log информацию о том, что канал в Интернет функционирует и прекращает свою работу. В противном случае скрипт удаляет шлюз, который установлен по умолчанию, заменяет его на шлюз вторичного провайдера и отчитывается об этом в log-файле. При следующем старте, если шлюзом по умолчанию является IP-адрес вторичного провайдера, скрипт проверяет возможность работы Интернета через первичного провайдера (также отправляя пакеты к ya.ru) и, если команда ping выполнена успешно, меняет шлюз на IP-адрес первичного провайдера.

Для того чтобы добавить выполнение этого скрипта в планировщик заданий crond, необходимо в файле /var/spool/cron/root добавить строку вида:

*/5 * * * * /home/root/checker,

где число 5 обозначает, через сколько минут запускать скрипт проверки работоспособности интернет-канала.

Затем необходимо перезапустить crond командой:

service crond reload

Теперь маршрутизатор полностью готов к работе. Если все сделано правильно, можно поставить этот сервер в темный уголок, обеспечить его источником бесперебойного питания и забыть о нем на продолжительное время. Отметим, что в данной статье описывается только статическая маршрутизация — для динамической маршрутизации, когда провайдер выдает IP-адреса через DHCP-сервер, настройки будут несколько иные, однако тут нужно понимать, что практически любой провайдер дает одну или несколько подсетей, которые не обслуживаются DHCP-сервером, поэтому можно смело присваивать себе постоянный внутренний IP-адрес.

Источник

Adblock
detector