CDS 13+sharewall настройка шлюза на 2 подсети (всё по мануалам, но проблема)

Добрый день, оговорюсь сразу, без предварительного чтения матчасти и многих часов проб и ошибок я бы к Вам не обратился.
Необходимо поднять шлюз на 2 локальные подсети 192.168.0.0/24 - офисные сотрудники 192.168.1.0/24 - гостевой wifi. От провайдера статический ip-адрес.
Проблема в следующем.
Установил CDS, при попытке добавить к cl-install ключ –iface или –ip
Получаю
либо

invalid parameter --iface

либо

attempt to rewrite readonly index file

он то ругался на шлюз провайдера, хотя указывал я верно.
В irc посоветовали забить и переписать потом conf.d/net - Установил CDS с автоматической настройкой сети, потом переписал /etc/conf.d/net поднялось интернет на CDS есть (гугл пингуется)
Далее делал
*cl-setup ldap
cl-setup unix
cl-setup samba
emerge net-firewall/shorewall*
Далее просто по вот этой статье

Как раз Пример настройки шлюза №1 - мой стандартный случай
также подсматривал вот сюда

В итоге у меня.
/etc/shorewall/zones:

fw      firewall
net     ipv4
loc     ipv4

/etc/shorewall/interfaces: (там формат 2)

net     enp3s6  tcpflags,nosmurfs,routefilter,logmartians
loc     enp2s0  tcpflags,nosmurfs,routefilter,logmartians

/etc/shorewall/policy:

loc     all     ACCEPT
$FW     all     ACCEPT
net     all     DROP
all     all     REJECT          info

/etc/shorewall/rules:

SECTION NEW
Ping/ACCEPT     net             $FW
SSH/ACCEPT      net             $FW
Ping/ACCEPT     loc             $FW
SSH/ACCEPT      loc             $FW

В итоге интернет всё-равно только на шлюзе, в локалке его нет
Как оговорка - при запуске шаревол ругался на отсутствие файлов - после emerge iptables и iptables save - ошибки ушли (если установка iptables не треблвалась - сделал я это уже в самом конце, когда уже опустил руки)

В чём ошибка подскажите пожалуйста

Да и ещё могут быть в этм грабли - при установке calculate-server - версия 2.х.х
calculate-lib - 3.x.x. ?

Оформите читабельно

Не вижу правил маскарадинга описанного в документации

Добавим маскарадинг для пакетов исходящих из локальной сети в интернет. В /etc/shorewall/masq поместим записи:

###############################################################################
#INTERFACE:DEST         SOURCE          ADDRESS         PROTO   PORT(S) IPSEC   MARK    USER/
 #                                                                                       GROUP
eth0                    192.168.1.0/24  1.2.3.4

Делал вот так

enp2s0         192.168.0.0/24    87.255.244.xxx

Соответственно если описывать ещё и wifi то будет

enp2s0         192.168.0.0/24    87.255.244.xxx
enp2s0         192.168.1.0/24    87.255.244.xxx

если я правильно понимаю

Перенаправление пакетов на шлюзе разрешено?

sysctl -a | grep forward

А у локальных хостов шлюз по умолчанию указан?

ip route

В итоге интернет всё-равно только на шлюзе, в локалке его нет

Не пингуется даже по IP?

все клиенты виндовые. Шлюз указан и он пингуется. Пинговать внешние адреса не успел попробовать - обморок накатывал (ночь была). Около компа буду опять же только вечером - сейчас собираю информацию куда вообще можно покопать.
Думаю стоит ещё поднять на CDS DNS-сервер, или я ошибаюсь??
cl-setup dns выполнял.
Имя хоста шлюза сделал Inetgate, но не резолвиться в локалке
ip шлюза 192.168.0.250 прописан как шлюз и dns на машинах в сети

enp2s0 - локальная подсеть? Тогда почему она в маскарадинге как INTERFACE:DEST указана?

ой вру

enp3s6     192.168.0.0/24   87.255.244.xxx

незнаю что помогло но интернет в локалку пошёл
сделал раз:
в файл ip_forward добавил 1
два:
маскарадинг изменил с

enp3s6     192.168.0.0/24   87.255.244.xxx

на

enp3s6     192.168.0.0/24

Если когда буду добавлять ещё подсеть на зону loc (192.168.1.0/24), интернет появиться и там, а сетки будут друг другу не видны - я буду ПОЧТИ счастлив.
А почти потому что не могу пробросить порты для VNC.
Идея была такая:
Чтобы иметь доступ ко всем компам независимо - подключаться к ним по разным портам:
192.168.0.1:5900 -------- 87.255.244.ххх:5000
192.168.0.2:5900 -------- 87.255.244.ххх:5001 и т.д.

в файле rules пишу:

VNC/ACCEPT  net $FW
VNC/ACCEPT  net loc

пробовал и так:

DNAT net loc:192.168.0.1 tcp 5900 5000

и тоже нет.

А почти потому что не могу пробросить порты для VNC.

Попробуйте такое правило:

DNAT            net             loc:192.168.0.1:5900    tcp     5000

Машина с которой проверяете находится в локальной зоне или в интернете? Если хотите, чтобы из локальной также работало по внешнему ip нужно еще правила добавлять: и в masq, и в rules, и в interfaces.

VNC/ACCEPT при DNAT не нужен.

Попробуйте такое правило:

DNAT            net             loc:192.168.0.1:5900    tcp     5000"

Пробовал - тоже нет Failed connect to server с компа из внешки
Пробовал так же и по шаблону в файле /etc/shorewall/rules

#
###############################################################################################################################
#ACTION><------>SOURCE<><------>DEST<--><------>PROTO<->DEST<-->SOURCE<><------>ORIGINAL<------>RATE<--><------>USER/<->MARK<->
#<-----><------><------><------><------><------><------>PORT<-->PORT(S)><------>DEST<--><------>LIMIT<-><------>GROUP
#SECTION ALL
#SECTION ESTABLISHED
#SECTION RELATED
#SECTION INVALID
#SECTION UNTRACKED
SECTION NEW

DNAT net loc:192.168.0.21 tcp 5900 5000

При условии, что в какой-то раз из множества попыток было ведено верное правило, что ещё может мешать форвардингу? Политики?
Вот они:

loc  all  ACCEPT
$FW  all  ACCEPT
net  all  DROP
all  all  REJECT info

Странно, вооооооообще не пойму, а RDP (3389) такой политикой пробросился наура и тут же заработал - мистика, что не так с VNC и портами 5000 5900?

попробуйте вместо
VNC/ACCEPT net $FW
прописать
ACCEPT all $FW tcp 5900