Здравствуйте!
Имеется локальная сеть от роутера 172.16.32.1, с него выход в интернет. Внутри этой сети расположен сервер SQUID на Ubuntu Server 22.04, на внешнем интерфейсе 172.16.32.103, на внутреннем 172.16.33.1 . Сервер включен между локалками.
На сервере активирован net.ipv4.ip_forward=1, прописан MASQUERADE в iptables. Со стороны клиентов 172.16.33.0/24 все прекрасно видно в 172.16.32.0/24, естественно, интернет есть. Но наоборот, из сети 172.16.32.0/24 в 172.16.33.0/24 доступа нет.
Настройка таблиц особого результата не дала, что «маскарадится» в одну сторону в другую ни в какую не хочет. С сервера обе сети пингуются. Изучал мануал по Iptables, но так как опыта мало, полез смотреть «что у людей», а там как-то маловато конкретики, в основном все порты бросают через сервер наружу в инет. В итоге таблицы изрядно помножились на мои домыслы:
iptables -A FORWARD -i enp3s0 -o enp4s7 -j ACCEPT
iptables -A FORWARD -i enp3s0 -o enp4s7 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i enp4s7 -o enp3s0 -j ACCEPT
iptables -A FORWARD -i enp4s7 -o enp3s0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp4s7 -j MASQUERADE
Наверное, NAT то здесь и не нужен. А, по всей видимости, нужна маршрутизация между внешним и внутренним интерфейсом сервера. И как-то же нужно чтобы клиенты из 172.16.32.0/24 знали, что надо отправлять пакеты на 172.16.32.103, а то они упорно ищут 172.16.33.0/24 в интернете через роутер 172.16.32.1 . Ознакомившись с основами настройки Netplan (детское издание, с примерами) нашел, как мне показалось, логичный способ маршрутизации:
network:
ethernets:
enp3s0:
dhcp4: no
addresses:
- 172.16.32.103/24
nameservers:
addresses:
- 172.27.100.5
optional: true
routes:
- to: default
via: 172.16.32.1
- to: 0.0.0.0/0
via: 172.16.32.1
table: 801
on-link: true
routing-policy:
- from: 172.16.32.103
table: 801
priority: 200
enp4s7:
dhcp4: no
addresses:
- 172.16.33.1/24
nameservers:
addresses:
- 172.16.33.1
optional: true
routes:
- to: 0.0.0.0/0
via: 172.16.33.1
table: 800
on-link: true
routing-policy:
- from: 172.16.32.103
table: 800
priority: 300
version: 2
renderer: networkd
Который тоже не работает.
Изрядно потупив несколько дней напролет ни к чему не пришел. И сейчас уже каша в голове. Может я что-то не так ищу, может не надо в поисковых запросах писать «про соединение и маршрутизацию двух локальных сетей»? Что задать в поиске, помимо документации?