Назад | Перейти на главную страницу

Перенаправлять трафик между VPN-клиентом и Samba-сервером

Вот простая установка с изюминкой:

В локальной сети работает сервер Samba на 192.168.1.88. Клиенты VPN подключаются непосредственно к серверу, не могут видеть друг друга и не маршрутизируются в локальную сеть.

Я хочу перенаправить или переслать:

Это набор правил NAT, с помощью которого я пытался выполнить задачи перенаправления / пересылки:

iptables -t nat -I PREROUTING -i tun0 -d 172.16.0.1 -p tcp --dport 139 -j DNAT --to-destination 192.168.1.88:139
iptables -I FORWARD -o tun0 -d 192.168.1.88 -p tcp --dport 139 -j ACCEPT

Адреса в сети:

Чего не хватает в правилах для отправки трафика VPN по правильному маршруту?

Заранее спасибо!

У вас также должен быть NAT на другом пути:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Кроме того, сервер Samba получит запрос от клиента в сети 172.16.0.0 (я предполагаю, что это / 24), поэтому ему необходимо знать маршрут к нему, чтобы ответить на запрос. Итак, если вы бежите ip route show на сервере Samba вы должны увидеть строку, указывающую что-то вроде:

172.16.0.0/24 via 192.168.1.99

или, если нет специального правила для 172.16.0.0:

default via 192.168.1.99

Если вы этого не сделаете, вам также необходимо добавить маршрут с помощью

ip route add 172.16.0.0/24 via 192.168.1.99

Другое дело, что вам нужно будет разрешить пересылку IP на VPN-сервере, чтобы Samba ответила:

sysctl -w net.ipv4.ip_forward=1

или

echo 1 > /proc/sys/net/ipv4/ip_forward

Но будьте осторожны, потому что в этот момент у вас будут маршруты в обоих направлениях. Заявление:

Клиенты VPN подключаются непосредственно к серверу, не могут видеть друг друга и не маршрутизируются в локальную сеть.

будет зависеть от маршрутов, которые вы отправляете клиентам VPN.

Если у вас нет каких-либо правил iptables, которые могут его фильтровать, он должен работать.

Надеюсь, это поможет.