Задать вопрос
@YangAdmin

Как правильно настроить NAT для доступа к внутреннему сервису из внутренней сети через внешний интерфейс?

Есть шлюз с двумя внешними интерфейсами и 1 локальный
Eeth1: 192.168.1.2
Eeth2: 172.16.2.2
Leth0: 100.127.1.1

В локальной сети есть HTTP сервер: 100.127.1.2

Есть прочие клиенты локальной сети: 100.127.1.15...

Если зайти на внешние IP "извне" - сайт открывается
Если зайти на внешние IP "изнутри" - сайт НЕ открывается

Правила nft:

# nft list table inet nat
table inet nat {
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
iif "Eeth1" tcp dport { 80, 443 } dnat ip to 100.127.1.2
iif "Eeth2" tcp dport { 80, 443 } dnat ip to 100.127.1.2
}

chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
ip saddr 100.127.1.0/24 masquerade
}
}


Маршруты:
# ip route show
default via 192.168.1.1 dev Eeth1
100.127.1.0/24 dev Leth0 proto kernel scope link src 100.127.1.1
172.16.2.0/24 dev Eeth2 proto kernel scope link src 172.16.2.2
192.168.1.0/24 dev Eeth1 proto kernel scope link src 192.168.1.2

# ip route show table 101
default via 192.168.1.1 dev Eeth1
192.168.1.0/24 dev Eeth1 scope link

# ip route show table 102
default via 172.16.2.1 dev Eeth2
172.16.2.0/24 dev Eeth2 scope link

# ip rule show
0: from all lookup local
32760: from all to 172.16.2.2 lookup firstline
32761: from 172.16.2.2 lookup firstline
32762: from all to 192.168.1.3 lookup unilink
32763: from 192.168.1.3 lookup unilink
32764: from all to 192.168.1.2 lookup unilink
32765: from 192.168.1.2 lookup unilink
32766: from all lookup main
32767: from all lookup default


PS Это тестовый стенд VirtualBox
  • Вопрос задан
  • 150 просмотров
Подписаться 2 Средний 5 комментариев
Решения вопроса 1
@Free0wl
nft add rule inet nat postrouting oifname "Eeth1" counter masquerade
nft add rule inet nat prerouting iifname "Eeth1" tcp dport { 80, 8080, 443 } counter dnat ip to 100.127.1.2
nft add rule inet nat prerouting iifname "Leth0" ip saddr 100.127.1.0/24 ip daddr 192.168.1.2 tcp dport { 80, 8080, 443 } counter dnat ip to 100.127.1.2
nft add rule inet nat postrouting oifname "Leth0" ip saddr 100.127.1.0/24 ip daddr 100.127.1.2 tcp dport { 80, 8080, 443 } counter snat to 100.127.1.1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы