> Есть сеть 217.*.*.116/30, выдали нам ещё пару сетей: 94.*.*.184/30 и 94.*.*.208/30. В
> прошлом всё работало на FreeBSD. Дополнительные сети у прова были завёрнуты
> на основную, т.е. шлюзы этих сетей были прописаны у меня на
> локальном интерфейсе и всё было здорово, но перелез на Linux и...
> Делаю всё по старой схеме: на локальный интерфейс прописываю ip шлюзов
> этих сетей. Результат - для внешнего мира клиенты светятся как 217.*.*.118.
> Прописываю адрес шлюза на внешмем, делаю snat и светятся во внешке
> под айпарями своих шлюзов. Куда копать и как решать?Предполагая, что у провайдера 217.*.*.117, а у тебя 217.*.*.118, а внутренние хосты 10.1.1.{118,186,210}, вешаешь на внешний интерфейс ethX:
ip addr add 217.*.*.118/30 dev ethX
ip addr add 94.*.*.186/30 dev ethX
ip addr add 94.*.*.210/30 dev ethXiptables -t nat -I POSTROUTING 1 -p all -s 10.1.1.118 -j SNAT --to 217.*.*.118
iptables -t nat -I PREROUTING -d 217.*.*.118 -j DNAT --to-destination 10.1.1.118
iptables -t nat -I POSTROUTING 1 -p all -s 10.1.1.186 -j SNAT --to 94.*.*.186
iptables -t nat -I PREROUTING -d 94.*.*.186 -j DNAT --to-destination 10.1.1.186
iptables -t nat -I POSTROUTING 1 -p all -s 10.1.1.210 -j SNAT --to 94.*.*.210
iptables -t nat -I PREROUTING -d 94.*.*.210 -j DNAT --to-destination 10.1.1.210
Открываешь избранные порты:
iptables -I FORWARD -p udp -d 10.1.1.118 --dport 26000:26009 -j ACCEPT
iptables -I FORWARD -p tcp -d 10.1.1.118 --dport 23 -j ACCEPT
iptables -I FORWARD -p tcp -d 10.1.1.118 --dport 25 -j ACCEPTiptables -I FORWARD -p udp -d 10.1.1.186 --dport 27960:27969 -j ACCEPT
iptables -I FORWARD -p tcp -d 10.1.1.186 --dport 23 -j ACCEPT
iptables -I FORWARD -p tcp -d 10.1.1.186 --dport 25 -j ACCEPT
iptables -I FORWARD -p tcp -d 10.1.1.210 --dport 23 -j ACCEPT
iptables -I FORWARD -p tcp -d 10.1.1.210 --dport 25 -j ACCEPT