Linux Advanced Routing и сервера
Добрый день!
- есть интернет шлюз настроенный на openwrt.
- есть 2 провайдера.
- есть две локальные подсети
необходимо:
- что бы шлюз был доступен через каждого провайдера (на шлюзе ssh, dns)
- сервера расположенные в разных подсетях имели доступ друг к другу
- что бы ко всем серверам можно было подключиться со всех белых адресов шлюза
- что бы разные локальные сети выходили в интернет через разные каналы связи.
первую и четвертую задачу я решил:
[code]
#!/bin/sh
IF1=eth4 # внешний интерфейс провайдера № 1 prov_1
IF2=eth5 # внешний интерфейс провайдера № 2 prov_2
IF_LOCAL0=eth0
IF_LOCAL1=eth1
IP1=192.168.0.2 # внешний IP-адрес, который нам выдал провайдер №1 prov_1
IP2=192.168.10.2 # внешний IP-адрес, который нам выдал провайдер №2 prov_2
P1=192.168.0.1 #шлюз по умолчанию провайдера №1
P2=192.168.10.1 #шлюз по умолчанию провайдера №2
P1_NET=192.168.0.0/24 #подсеть провайдера prov_1
P2_NET=192.168.10.0/24 #подсеть провайдера prov_2
#SRV1=192.168.77.0/24 # блок ip адресов для серверов №1 for prov_1
#SRV2=192.168.88.0/24 # блок ip адресов для серверов №2 for prov_2
ip route add $P1_NET dev $IF1 src $IP1 table prov_1
ip route add $P2_NET dev $IF2 src $IP2 table prov_2
ip route add default via $P1 table prov_1 #шлюз по умолчанию для таблицы T1
ip route add default via $P2 table prov_2 #шлюз по умолчанию для таблицы T2
ip rule add from $IP1 table prov_1
ip rule add from $IP2 table prov_2
ip route add 127.0.0.0/8 dev lo table prov_1
ip route add 127.0.0.0/8 dev lo table prov_2
ip rule add iif $IF_LOCAL0 table prov_2 # с интерфейса IF_LOCAL0 уходит через prov_2
ip rule add iif IF_LOCAL1 table prov_1 # с интерфейса IF_LOCAL1 уходит через prov_1
[/code]
как реализовать доступ к серверам со всех провайдеров?