Мы настроили шлюз 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 брандмауэра?» В соответствии с настройками любой трафик, исходящий из 10.10.0.1/24, будет преобразован в 1.1.1.1 на другой стороне. (Использование трансляции адресов порта) Если вам нужны системы за вашим брандмауэром, чтобы «заявить» один из ваших общедоступных IP-адресов для себя, вам также необходимо настроить статический NAT.
Это выглядело бы примерно так:
(Взято из Вот для более подробной информации.)
установить правило обслуживания nat 1
редактировать правило 1 службы nat
установить тип назначения
установить статический тип перевода
установить входящий интерфейс eth0
установить протоколы все
установить исходную сеть 0.0.0.0/0
установить адрес назначения PUBLIC_IP
установить внутренний адрес INSIDE_IP
установить сервисное правило 2
редактировать правило 2 службы nat
установить тип источника
установить статический тип перевода
установить исходящий интерфейс eth0
установить протоколы все
установить исходный адрес INSIDE_IP
установить сеть назначения 0.0.0.0/0
установить внешний адрес PUBLIC_IP
Не используйте маскарад, используйте DNAT или SNAT (я всегда забываю, какой именно) - тогда вы можете указать публичный NAT-адрес.
Маскарадинг в основном предназначен для динамических адресов (например, потребительской рекламы), где статический адрес не может быть указан, поскольку он изменяется.