Разрешить GRE (протокол IP 47) через маршрутизатор Linux NAT для подсети

У меня есть настройки сети, как показано ниже:

VPN-сервер работает под управлением Windows 2012 по умолчанию VPN-сервера, который использует протокол GRE. Я могу иметь VPN-подключение к этому удаленному серверу vpn, используя только один IP-адрес в своей интрасети. Но я не могу подключиться для диапазона IP-адресов внутренней сети 172.16.14.0/24. Проблема с роутером linux, который делает NAT. Моя таблица iptable for nat выглядит следующим образом для рабочего соединения vpn (для одного IP), позволяя протокол gre:

 iptables -I PREROUTING -t nat -p 47 --src 202.xx.yy.abc  -j DNAT --to-destination 172.16.14.15
 iptables -I POSTROUTING -p 47 -t nat --src 172.16.14.15  -j SNAT --to-source 202.xx.yy.zz
 iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE 
 iptables -A INPUT -p 47 -j ACCEPT

Это правило отлично работает для одного IP 172.16.14.15. Как я могу сделать это работает для всего диапазона 172.16.14.0/24, чтобы я мог иметь VPN-подключение к удаленному VPN-серверу?

2 ответа

Я нашел решение. Я сделал это:

 sysctl -w net.netfilter.nf_conntrack_helper = 1

Затем добавьте

modprobe ip_nat_pptp

Я использовал Ubuntu 18.04.2 LTS, версия ядра 4.15.0-45-generic. В таблицах iptables PREROUTING, POSTROUTING не нужно было ничего делать с протоколом GRE. Добавление чуть выше двух строк сработало.

Вы загрузили nf_nat_proto_gre модуль ядра? Если вы сделаете это, первые две строки больше не понадобятся.

GRE не имеет никакого понятия "порт", как протоколы UDP и TCP. Единственная информация о сопоставлении, которую может использовать любое устройство NAT, - это IP-адрес источника и / или пункта назначения пакетов.

Чтобы достичь того, что вы хотите сделать, вам нужно либо настроить общедоступную сеть /24 на своем канале WAN, а затем создать индивидуальные сопоставления GRE NAT между каждым общедоступным IP-адресом и каждым внутренним IP-адресом. В качестве альтернативы вам может быть предоставлен один адрес на интерфейсе WAN, но вместо этого поставщик VPN предоставит вам несколько общедоступных адресов IPv4 для подключения к их услуге. В одном случае отображение NAT отключено от адреса назначения пакетов GRE, а в другом случае отображение NAT отключено от адреса источника. Любой из этих методов будет работать.

Весьма вероятно, что у вас есть только один адрес WAN, а поставщик VPN также имеет только один адрес, что означает, что вы можете создать только одно сопоставление NAT для одного внутреннего хоста для любого трафика GRE.

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