@dormangi

Как реализовать хождение трафика bash-скрипта ssh-синонизации на програмном маршрутизаторе с несколькими wan, через определённого провайдера?

Имеется сервер, занимающийся маршрутизацией с установленной ClearOS (читай CentOS). Машина занимается маршрутизацией 3-х каналов доступа в интернет ( т.е. в маршрутизаторе 3 wan-порта).
К первому wan-порту подсоединён провайдер №1
Ко второму wan - провайдер №2
К 3-у wan -провайдер №3
Но на маршрутизаторе необходимо время от времени запускать скрипт синхронизации по ssh c удалённым сервером выкачивать с него данные на маршрутизатор.
Как реализовать чтобы скрипт синхронизации, запускаемый на маршрутизаторе, выполнялся через провайдера №3 ? т.е. Как указать системе отрабатывать скрипт (пропускать трафик) через 3-й wan?
  • Вопрос задан
  • 3252 просмотра
Пригласить эксперта
Ответы на вопрос 4
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Прописать маршрутизацию до этого хоста через правильный WAN. В линуксах, например, так:
ip ro add 1.1.1.1/32 via ${net_gateway} dev eth2 src ${eth2_ip}
После окончания выполнения скрипта роут можно удалить:
ip ro del 1.1.1.1/32 via ${net_gateway} dev eth2 src ${eth2_ip}

Просто "запустить скрипт" через определенный интерфейс - нельзя.
Ответ написан
Комментировать
@dormangi Автор вопроса
Задача не в том, как запустить скрипт, а в том, как сделать, чтобы скрипт отрабатывал через wan-порт №3, а не 1-й, или 2-й ( т.е. трафик для этого скрипта шёл именно через провайдера №3).
Ответ написан
rafuck
@rafuck
Добавить запись в таблицу маршрутизации для конкретного IP, с которого необходимо скачать данные? Что-то вроде:
ip route add SERVER_IP via INTERFACE_IP
Ответ написан
Комментировать
@DrBao
Дополнение.
ssh клиент таких решений не предоставляет. У него есть своё туннелирование, но оно не поможет в данном случае. Нужно решение, уровнем ниже userland аппликации, на уровне операционной системы, которое направит именно эти пакеты через тот шлюз. В кернеле нужный функционал есть. Эта техника называется source routing . en.wikipedia.org/wiki/Source_routing
По этому в 2х вам данных правильных ответах выше используется утилита ip вместо route

Строго говоря, в линукс мире идёт длительная миграция народа с net-tools на iproute, но об этом большинство не знает, потому что миграция слишком либеральна, а в утилиту ip не вшит старый формат протокола.
Если бы это сделали, то миграция с net-tools была бы заметно более лёгкой: просто заменить симлинками в дистрибутивах, да и всё - все старые скрипты заработали бы прозрачным образом, не заметив подмены.

[X@Y ~]# yum info iproute-2...
...
Summary : Advanced IP routing and network device configuration tools
URL : linux-net.osdl.org/index.php/Iproute2
License : GPLv2+ and Public Domain
Description : The iproute package contains networking utilities (ip and rtmon, for
: example) which are designed to use the advanced networking
: capabilities of the Linux 2.4.x and 2.6.x kernel.

[X@Y ~]# yum info net-tools
...
Summary : Basic networking tools
URL : net-tools.berlios.de
License : GPL+
Description : The net-tools package contains basic networking tools,
: including ifconfig, netstat, route, and others.
: Most of them are obsolete. For replacement check iproute package.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы