Назад | Перейти на главную страницу

Поставщики услуг балансировки нагрузки на сервере Ubuntu

У меня есть сервер Dell с установленным на нем сервером Ubuntu 11.10. На сервере есть 3 карты Ethernet eth0, eth1 и eth2.

У меня два провайдера говорят ISP1, ISP2

eth0 имеет общедоступный IP-адрес (предоставляется ISP1 - нам требуется доступ к этой службе из-за пределов нашей локальной сети). eth1 подключен к локальной сети (через коммутатор) с 192.168. Подсеть XXX. eth2 получает динамический IP-адрес (через DHCP, предоставляемый ISP2) с 172,16. .xx подсеть

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

#!/bin/bash -v
#IPs of device connected to the internet
IP1=119.my.pub.ip #Public IP provided by ISP1
#dynamically alloted IP provided by ISP2
IP2=`ifconfig | awk -F: '/172.16./ {print $2}' | awk '{ORS=" "; print $1}' | awk '{print $2}'`

#Your Gateways (type route in terminal it should be in the same line as default)
P1=119.my.pu.gat #gateway provided by ISP1
P2=172.16.1.1 #gateway provided by ISP2

#Your Subnets
P0_NET=192.168.0.0/16 #local network subnet,
P1_NET=119.82.90.0/28 # Part of your gateway
P2_NET=172.16.1.0/24 #Part of your gateway
# NICs your internet interfaces
IF1=eth0
IF2=eth2
IF0=eth1

ip route add $P1_NET dev $IF1 src $IP1 table T1
ip route add default via $P1 table T1
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add default via $P2 table T2
ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
ip route add $P0_NET dev $IF0 table T1
ip route add $P2_NET dev $IF2 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add $P0_NET dev $IF0 table T2
ip route add $P1_NET dev $IF1 table T2
ip route add 127.0.0.0/8 dev lo table T2

ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1

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

Я считаю, что найденный вами сценарий был создан путем отслеживания / объединения различных фрагментов информации из Linux Advanced Routing & Traffic Control HOWTO. В частности, раздел о балансировка нагрузки отдельные ссылки ISP. Я предлагаю вам прочитать эту страницу, чтобы понять, что делает этот сценарий. Имейте в виду, что этот How To ссылается на старые ядра, хотя я не думаю, что принцип сильно изменился бы, и ip команды, вероятно, все еще действительны.

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

Если вы не хотите перезагружаться, то, в зависимости от дистрибутива, вы можете перезапустить сеть, например, в Red Hat. service network restart должен очистить для вас маршруты и снова добавить маршрут по умолчанию (это основано на моем быстром сканировании сетевых сценариев). Я считаю, что у Ubuntu будет аналогичная система (я не использовал ее некоторое время, а сейчас они используют Upstart, о котором я ничего не знаю). В противном случае вам придется вручную удалить правила, которые создает этот сценарий (или написать сценарий, который это делает), используя ip команда.