LINUX.ORG.RU
ФорумAdmin

Маршрутизация между двумя LAN

 , ,


0

1

Здравствуйте!

Имеется локальная сеть от роутера 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 

Который тоже не работает.

Изрядно потупив несколько дней напролет ни к чему не пришел. И сейчас уже каша в голове. Может я что-то не так ищу, может не надо в поисковых запросах писать «про соединение и маршрутизацию двух локальных сетей»? Что задать в поиске, помимо документации?

И как-то же нужно чтобы клиенты из 172.16.32.0/24 знали, что надо отправлять пакеты на 172.16.32.103

С этого и нужно начинать. Причём это делается на стороне клиентов, либо прямо прописывать маршрут, либо на dhcp-сервере, если клиенты получают настройки по dhcp.

mky ★★★★★
()

У тебя какая-то каша из настроек: и squid, и masquerade, и попытки прозрачного моста между сетями. Может быть, всё это и может работать одновременно, но какой смысл? Все эти штуки решают одну и ту же задачу разными способами.

Чтобы вторая локалка была видна из первой, на компах из первой должно быть route 172.16.33.0/24 via 172.16.32.103. Как это прописать в твоём netplan-е я не знаю. Командой можно так:

route add -net 172.16.33.0/24 gw 172.16.32.103

(действует до перезапуска интерфейса).

firkax ★★★★★
()
Ответ на: комментарий от mky

Спасибо за ответ! Просто именно этого я и боялся, что надо на стороне клиентов править, думал есть какой-то способ. Печаль, потому как, везде и всюду статика.

nacompe
() автор топика
Ответ на: комментарий от firkax

Сквидом просто показалось удобнее и понятнее для неграмотного, там и списки есть, скорость резать можно и прочее. А к клиентам лезть вообще не вариант.

Полная картина такая:

  • 2 здания, 2 роутера, через провайдера организована общая сеть.
  • роутеры ставились головной организацией, там еще и ВПН висит, доступ мне туда по штату не положен, а немного поадминить надо.
  • думал, что в обоих корпусах по такой машине заведу и поставлю сразу после роутеров.

Теперь все ясно, спасибо за помощь, придется что-то другое предпринимать.

nacompe
() автор топика