Имеется роутер (Linux) с 2-мя интернет-каналами. Внутри сети - web сервер. На него пробрасывается порт 443 с роутера.
Возникла задача, чтобы подключение к web-серверу происходило по этим двум каналам.
По основному каналу (первому) пакеты IpTables-ами перекидываются на внутренний сервер и возвращаются нормально. Но если запрос приходит по второму каналу, то ответа на них нет. Хотя проброска портов на внутренний сервер прописана так же и для второго канала. Есть ли возможность реализовать такую схему, при которой входящие пакеты с любого канала отправляются на внутренний сервер, а ответ на них отправляется на тот же канал, откуда они и пришли? Сейчас, насколько я понимаю, ответные пакеты уходят на основной канал (первый) и к адресату не доходят.Заранее спасибо.
>[оверквотинг удален]
>По основному каналу (первому) пакеты IpTables-ами перекидываются на внутренний сервер и возвращаются
>нормально. Но если запрос приходит по второму каналу, то ответа на
>них нет. Хотя проброска портов на внутренний сервер прописана так же
>и для второго канала. Есть ли возможность реализовать такую схему, при
>которой входящие пакеты с любого канала отправляются на внутренний сервер, а
>ответ на них отправляется на тот же канал, откуда они и
>пришли? Сейчас, насколько я понимаю, ответные пакеты уходят на основной канал
>(первый) и к адресату не доходят.
>
>Заранее спасибо.Да есть.
через iptabeles(mark)
>через iptabeles(mark)Была такая мысль. Это единственный способ без выписывания отдельных IP-адресов для вебсервера и прочих кардинальных решений?
>[оверквотинг удален]
>По основному каналу (первому) пакеты IpTables-ами перекидываются на внутренний сервер и возвращаются
>нормально. Но если запрос приходит по второму каналу, то ответа на
>них нет. Хотя проброска портов на внутренний сервер прописана так же
>и для второго канала. Есть ли возможность реализовать такую схему, при
>которой входящие пакеты с любого канала отправляются на внутренний сервер, а
>ответ на них отправляется на тот же канал, откуда они и
>пришли? Сейчас, насколько я понимаю, ответные пакеты уходят на основной канал
>(первый) и к адресату не доходят.
>
>Заранее спасибо.iproute
https://www.opennet.ru/docs/RUS/LARTC/x348.html
>[оверквотинг удален]
>>которой входящие пакеты с любого канала отправляются на внутренний сервер, а
>>ответ на них отправляется на тот же канал, откуда они и
>>пришли? Сейчас, насколько я понимаю, ответные пакеты уходят на основной канал
>>(первый) и к адресату не доходят.
>>
>>Заранее спасибо.
>
>iproute
>
>https://www.opennet.ru/docs/RUS/LARTC/x348.htmlО! Спасибо. Сейчас буду читать. Бо в мануалах подобной ситуации не встретил.
>[оверквотинг удален]
>>>(первый) и к адресату не доходят.
>>>
>>>Заранее спасибо.
>>
>>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
>>[оверквотинг удален]
>>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` работает только на том интерфейсе, чей шлюз выставлен в настоящий момент дефолтным.
Подскажите, плз, что я не доделал.
На роутере делать DNAT/SNAT на машине внутри не задавать шлюз по умолчанию
>На роутере делать DNAT/SNAT на машине внутри не задавать шлюз по умолчанию
>Внутренняя машинка начала отвечать по обоим интерфейсам. После добавления строк
$ip route add default via 192.168.0.1 dev eth1
$ip route add default via 192.168.2.4 dev eth2Наличие маршрута по умолчанию на это не влияет.
Спасибо всем за подсказки.