Шлюз и роутер на одном компьютере
Мы пытались установить окно Linux/BSD/etc, которое может работать как в качестве интернет-шлюза, так и в качестве маршрутизатора. Я не знаю, как сформулировать нашу ситуацию очень хорошо, поэтому, пожалуйста, прости меня...
В настоящее время мы используем Vyatta со следующими сетевыми интерфейсами (с замаскированными IP-адресами):
eth0
-> xxx178/30 - WAN (восходящий маршрутизатор: xxx177)vlan100
-> Прикреплено кeth0
br100
-> yyy1 - Мосты eth0.vlan100 и eth1eth1
-> yyyy/24 - соединен с WAN (xxx178 является восходящим маршрутизатором для этой подсети)eth2
-> 10.10.0.1/16 - Частная сеть, NAT через yyy1
Проблема: когда мы устанавливаем правило NAT для маршрутизации трафика 10.10.0.0/16 через br100
ничего не разбирается. Однако, если мы установим правило NAT для маршрутизации через eth0
, трафик фактически маршрутизируется, но теперь он исходит от адреса xxx178 вместо адреса yyy1.
Что я здесь не так делаю? Любые мысли или предложения будут полезны.
Текущая конфигурация (без пуха):
interfaces {
bridge br100 {
address y.y.y.1/24
}
ethernet eth0 {
address x.x.x.178/30
vif 100 {
bridge-group {
bridge br100
}
}
}
ethernet eth1 {
bridge-group {
bridge br100
}
}
ethernet eth2 {
address 10.10.0.1/16
}
loopback lo {
}
}
services {
nat {
rule 1 {
outbound-interface br100
source {
address 10.10.0.0/16
}
type masquerade
}
}
}
system {
gateway-address x.x.x.177
}
3 ответа
Мы смогли решить эту проблему, изменив правило NAT на SNAT вместо маскарада.
В большинстве дистрибутивов, если они не настроены для использования в качестве маршрутизаторов, они по умолчанию будут вести себя как отказ от пересылки IP-трафика. Обычно я использую пакетный протектор (linux, работающий на домашнем роутере asus) для такой работы. Но вы можете проверить настройки в /etc/sysctl.conf.
Ищите "net.ipv4.ip_forward =", если вы хотите пересылать трафик, это значение должно быть установлено на 1 (если нет, то "0"). Изменение файла приведет к сохранению изменений при перезагрузке и начнется при запуске сетевых служб.
Я бы порекомендовал вам использовать pfSense.
У него действительно хороший веб-интерфейс.