Как всегда хочется странного. Итак, в наличии два физических интерфейса (не расширяемо). Аплинк до прова, допустим 172,0,0,2/30. Пров кроме аплинка дает подсеть класса С, допустим
212,96,100,0/24. Мой внешний интерфейс - eth0, внутренний - eth1 (сеть
192,168,100,0/24). Задача: Дать возможность из внешней сети добраться до компов
в подсети 192,168,100,0/24. Но все усложняется тем, что несколько серверов в
локальной сети используют одинаковый диапазон портов. Соответственно простой
dnat не подходит. Било принято решение использовать адреса сети 212,96,100,0/24,
для того, чтобы из использовать для dnat. Вопрос: как это правильно делается?
Алиасы с адресами из сети 212,96,100,0/24 вешаются на eth0 или на eth1.То есть нужно реализовать схему типа:
212.96.100.1:80->192.168.100.1:80
212.96.100.2:80->192.168.100.2:80Сеть 212.96.100.0/24 роутится провайдером, типа она доступна из внешнего мира чере аплинк, а дальше мои проблемы.
Камрады, помогите примерами, прочел кучу всего, в голове каша.
А чем роутится-то? Ручками пакеты перекладываются, али маршрутизатор какой есть?
>А чем роутится-то? Ручками пакеты перекладываются, али маршрутизатор какой есть?
Вон на маршрутизаторе и надо смастерить.
Linux, Ядро серии 2.4.32
Вариантов, как обычно, не один
- можно на внешнем DNS прописать 2 записи
www.domain.com IN 212.96.100.1
www.domain.com IN 212.96.100.2
и в iptables - несколько строк с действием DNAT, своя для каждого сервера- можно использовать модуль ipt_netmap (если нет в поставке - собрать):
iptables ... -d 212.96.100.0/<30> --dport 80 -j NETMAP --to 192.168.100./24Можно еще много чего придумать :)