URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86074
[ Назад ]

Исходное сообщение
"Linux. 2 канала - один сервер внутрисети"

Отправлено Rett Pop , 24-Июл-09 14:26 
Имеется роутер (Linux) с 2-мя интернет-каналами. Внутри сети - web сервер. На него пробрасывается порт 443 с роутера.
Возникла задача, чтобы подключение к web-серверу происходило по этим двум каналам.
По основному каналу (первому) пакеты IpTables-ами перекидываются на внутренний сервер и возвращаются нормально. Но если запрос приходит по второму каналу, то ответа на них нет. Хотя проброска портов на внутренний сервер прописана так же и для второго канала. Есть ли возможность реализовать такую схему, при которой входящие пакеты с любого канала отправляются на внутренний сервер, а ответ на них отправляется на тот же канал, откуда они и пришли? Сейчас, насколько я понимаю, ответные пакеты уходят на основной канал (первый) и к адресату не доходят.

Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Linux. 2 канала - один сервер внутрисети"
Отправлено Анонимус. , 24-Июл-09 14:41 
>[оверквотинг удален]
>По основному каналу (первому) пакеты IpTables-ами перекидываются на внутренний сервер и возвращаются
>нормально. Но если запрос приходит по второму каналу, то ответа на
>них нет. Хотя проброска портов на внутренний сервер прописана так же
>и для второго канала. Есть ли возможность реализовать такую схему, при
>которой входящие пакеты с любого канала отправляются на внутренний сервер, а
>ответ на них отправляется на тот же канал, откуда они и
>пришли? Сейчас, насколько я понимаю, ответные пакеты уходят на основной канал
>(первый) и к адресату не доходят.
>
>Заранее спасибо.

Да есть.


"Linux. 2 канала - один сервер внутрисети"
Отправлено sonkilla , 24-Июл-09 14:41 
через iptabeles(mark)

"Linux. 2 канала - один сервер внутрисети"
Отправлено Rett Pop , 24-Июл-09 14:49 
>через iptabeles(mark)

Была такая мысль. Это единственный способ без выписывания отдельных IP-адресов для вебсервера и прочих кардинальных решений?


"Linux. 2 канала - один сервер внутрисети"
Отправлено ALex_hha , 24-Июл-09 14:50 
>[оверквотинг удален]
>По основному каналу (первому) пакеты IpTables-ами перекидываются на внутренний сервер и возвращаются
>нормально. Но если запрос приходит по второму каналу, то ответа на
>них нет. Хотя проброска портов на внутренний сервер прописана так же
>и для второго канала. Есть ли возможность реализовать такую схему, при
>которой входящие пакеты с любого канала отправляются на внутренний сервер, а
>ответ на них отправляется на тот же канал, откуда они и
>пришли? Сейчас, насколько я понимаю, ответные пакеты уходят на основной канал
>(первый) и к адресату не доходят.
>
>Заранее спасибо.

iproute

https://www.opennet.ru/docs/RUS/LARTC/x348.html


"Linux. 2 канала - один сервер внутрисети"
Отправлено Rett Pop , 24-Июл-09 14:53 
>[оверквотинг удален]
>>которой входящие пакеты с любого канала отправляются на внутренний сервер, а
>>ответ на них отправляется на тот же канал, откуда они и
>>пришли? Сейчас, насколько я понимаю, ответные пакеты уходят на основной канал
>>(первый) и к адресату не доходят.
>>
>>Заранее спасибо.
>
>iproute
>
>https://www.opennet.ru/docs/RUS/LARTC/x348.html

О! Спасибо. Сейчас буду читать. Бо в мануалах подобной ситуации не встретил.


"Linux. 2 канала - один сервер внутрисети"
Отправлено PavelR , 24-Июл-09 15:52 
>[оверквотинг удален]
>>>(первый) и к адресату не доходят.
>>>
>>>Заранее спасибо.
>>
>>iproute
>>
>>https://www.opennet.ru/docs/RUS/LARTC/x348.html
>
>О! Спасибо. Сейчас буду читать. Бо в мануалах подобной ситуации не встретил.
>

https://www.opennet.ru/tips/info/1651.shtml
https://www.opennet.ru/openforum/vsluhforumID3/42663.html


"Linux. 2 канала - один сервер внутрисети"
Отправлено Rett Pop , 06-Авг-09 18:11 
>>[оверквотинг удален]
>>https://www.opennet.ru/docs/RUS/LARTC/x348.html

Перечитал несколько раз. Пробовал и так, и так... Не получается.
Сделал такую схему. Внутри сети стоит машинка с 2-мя интерфейсами и IP - 192.168.0.113 и 192.168.2.114. На обоих портах висит сервис chargen. На входе в сеть стоит 2 роутера. На первом пробрасываю 19-й порт на IP 192.168.0.113, на втором - на 192.168.2.114. Подключения происходят только через тот роутер, который прописан на внутренней машине дефолтным. То есть, как только меняю адрес дефолтного шлюза на 192.168.2.4, подключения через него сразу начинают работать. Но пропадают подключения через роутер 192.168.0.1. Насколько я понимаю, тут неправильно настроена именно внутренняя машина. Привожу настройки внутренней машины. Таблицы tpr1 и tpr2 - для шлюзов 192.168.0.1 и 192.168.2.4, соответственно.

#!/usr/bin/bash                                  

ip='/sbin/ip'

$ip link set up dev lo
for n in 1 2; do      
        $ip link set up dev eth$n
done                            
$ip addr add 127.0.0.1/8 dev lo  

$ip addr add 192.168.0.113/24 dev eth1
$ip addr add 192.168.2.114/24 dev eth2

$ip route add 192.168.0.0/16 dev eth1 src 192.168.0.113 table tpr1
$ip route add default via 192.168.0.1 table tpr1

$ip route add 192.168.2.0/24 dev eth2 src 192.168.2.114 table tpr2
$ip route add default via 192.168.2.4 table tpr2

$ip route add 192.168.0.0/24 dev eth1 src 192.168.0.113
$ip route add 192.168.2.0/24 dev eth2 src 192.168.2.114

$ip route add default via 191.168.0.1

$ip rule add from 192.168.0.113 table tpr1
$ip rule add from 192.168.2.114 table tpr2

И при этом `ping -I <dev> ya.ru` работает только на том интерфейсе, чей шлюз выставлен в настоящий момент дефолтным.
Подскажите, плз, что я не доделал.


"Linux. 2 канала - один сервер внутрисети"
Отправлено ALex_hha , 07-Авг-09 12:51 
На роутере делать DNAT/SNAT на машине внутри не задавать шлюз по умолчанию

"Linux. 2 канала - один сервер внутрисети"
Отправлено Rett Pop , 07-Авг-09 15:29 
>На роутере делать DNAT/SNAT на машине внутри не задавать шлюз по умолчанию
>

Внутренняя машинка начала отвечать по обоим интерфейсам. После добавления строк
$ip route add default via 192.168.0.1 dev eth1
$ip route add default via 192.168.2.4 dev eth2

Наличие маршрута по умолчанию на это не влияет.

Спасибо всем за подсказки.