История изменений
Исправление kostik87, (текущая версия) :
Мне нужно перекидывать всё с tun0 на на eth0
Это как-то не так звучит, тем более имеет другое значение, отличное от:
чтобы клиенты openvpn могли работать с сервисами eth0
тем более тут нужно даже немного по другому ставить задачу.
Как-то так:
чтобы клиенты openvpn могли работать с сервисами в локальной сети за шлюзом, например 192.168.10.0\24.
В таком случае можно просто проложить маршрут через IP адрес OpenVPN шлюза до сети 192.168.10.0\24, в конфиг OpenVPN сервера нужно добавить строку прокладки маршрута:
push "route 192.168.10.0 255.255.255.0"
Но в этом случае на машинах в OpenVPN сети не должно быть пересечения с их локальными сетями. Т.е. если у них их локальная внутренняя сеть будет тоже 192.168.10.0\24, то работать ничего не будет. Но такая сеть маловероятна.
В таком случае клиенты из OpenVPN сети и узлы в локальной сети будут «видеть» себя напрямую.
Если этого не нужно, то опять таки нужно, что бы OpenVPN сервер выдавал клиентам маршрут до локальной сети за шлюзом, но нужно прописать правило NAT (MASQUERADE) для OpenVPN сети.
Т.е., если OpenVPN сеть 192.168.20.0\24, то нужно добавить правило:
-A POSTROUTING -s 192.168.20.0\24 -o eth0 -j MASQUERADE
Но должен быть прописан маршрут на OpenVPN клиентах, как это делается я привёл.
В iptables важна очерёдность правил, если пакет при прохождении таблицы (цепочки) подпадает под какое-либо правило, то он выходит из этой таблицы (цепочки) и другими правилами в таблице уже не обрабатывается.
Исходная версия kostik87, :
Мне нужно перекидывать всё с tun0 на на eth0
Это как-то не так звучит, тем более имеет другое значение, отличное от:
чтобы клиенты openvpn могли работать с сервисами eth0
тем более тут нужно даже немного по другому ставить задачу.
Как-то так:
чтобы клиенты openvpn могли работать с сервисами в локальной сети за шлюзом, например 192.168.10.0\24.
В таком случае можно просто проложить маршрут через IP адрес OpenVPN шлюза до сети 192.168.10.0\24, в конфиг OpenVPN сервера нужно добавить строку прокладки маршрута:
push "route 192.168.10.0 255.255.255.0"
Но в этом случае на машинах в OpenVPN сети не должно быть пересечения с их локальными сетями. Т.е. если у них их локальная внутренняя сеть будет тоже 192.168.10.0\24, то работать ничего не будет. Но такая сеть маловероятна.
В таком случае клиенты из OpenVPN сети и узлы в локальной сети будут «видеть» себя напрямую.
Если этого не нужно, то опять таки нужно, что бы OpenVPN сервер выдавал клиентам маршрут до локальной сети за шлюзом, но нужно прописать правило NAT (MASQUERADE) для OpenVPN сети.
Т.е., если OpenVPN сеть 192.168.20.0\24, то нужно добавить правило:
-A POSTROUTING -s 192.168.20.0\24 -o eth0 -j MASQUERADE
Но должен быть прописан маршрут на OpenVPN клиентах, как это делается я привёл.
В iptables важна очерёдность правил, если пакет при прохождении таблицы (цепочки) подпадает под какое-либо правило, то он выходит из этой таблицы (цепочки) и другими правилами в таблице уже не обрабатывается.