Вятский маскарадный мостовой интерфейс

Мы настроили в нашей сети шлюз Vyatta Core 6.1 с тремя интерфейсами:

  • eth0 - 1.1.1.1 - публичный IP-адрес шлюза / маршрутизатора (для публичного восходящего маршрутизатора)
  • eth1 - 2.2.2.1/24 - общедоступная подсеть (подключена ко второму брандмауэру 2.2.2.2)
  • eth2 - 10.10.0.1/24 - частная подсеть

Наш провайдер предоставил 1.1.1.1 адрес для нас, чтобы использовать в качестве нашего шлюза. 2.2.2.1 адрес другой брандмауэр (2.2.2.2) может связываться с этим шлюзом, который затем направляет трафик через eth0 интерфейс.

Вот наша текущая конфигурация:

interfaces {
    bridge br100 {
        address 2.2.2.1/24
    }
    ethernet eth0 {
        address 1.1.1.1/30
        vif 100 {
            bridge-group {
                bridge br100
            }
        }
    }
    ethernet eth1 {
        bridge-group {
            bridge br100
        }
    }
    ethernet eth2 {
        address 10.10.0.1/24
    }
    loopback lo {
    }
}
service {
    nat {
        rule 100 {
            outbound-interface eth0
            source {
                address 10.10.0.1/24
            }
            type masquerade
        }
    }
}

При такой конфигурации все маршрутизируется, но адрес источника после маскировки 1.1.1.1, что правильно, потому что это интерфейс, к которому он привязан. Но из-за некоторых наших требований здесь нам нужно получить источник из 2.2.2.1 адрес вместо этого (какой смысл платить за общедоступную подсеть класса C, если единственный адрес, с которого мы можем послать, - это наш шлюз!?).

Я пытался связать с br100 вместо eth0, но, похоже, ничего не маршрутизируется, если я это сделаю.

Я полагаю, я просто упускаю что-то простое. Какие-нибудь мысли?

2 ответа

Поведение имеет смысл, как его настроить. Что вы делаете с "другим" брандмауэром? Это может быть так же просто, как маршрутизация трафика через второй брандмауэр, но возникает вопрос: "Почему существуют 2 брандмауэра?" В соответствии с настройкой любой трафик, исходящий из 10.10.0.1/24, будет переведен в 1.1.1.1 на другой стороне. (Использование трансляции адресов портов) Если вам нужны системы за брандмауэром, чтобы "требовать" один из ваших публичных IP-адресов для себя, вам также необходимо настроить статический NAT.

Это будет выглядеть примерно так:

(Взяты отсюда для более подробной ссылки.)

установить правило обслуживания nat 1

Правило службы нац 1

установить тип назначения

установить статический тип перевода

установить входящий интерфейс eth0

установить протоколы все

установить исходную сеть 0.0.0.0/0

установить адрес назначения PUBLIC_IP

установить внутренний адрес INSIDE_IP

установить сервис нат правила 2

редактировать службу nat rule 2

установить тип источника

установить статический тип перевода

установить исходящий интерфейс eth0

установить протоколы все

установить адрес источника INSIDE_IP

установить сеть назначения 0.0.0.0/0

установить внешний адрес PUBLIC_IP

Не используйте маскарад, используйте DNAT или SNAT (я всегда забываю, какой из них) - тогда вы можете указать публичный адрес NAT.

Маскарадинг в основном для динамических адресов (т. Е. Потребительских объявлений), где статический адрес не может быть указан, так как он изменяется.

Другие вопросы по тегам