Здравствуйте, несколько дней рою топики, но никак не удаётся добиться результата.Итак, описание систем и задачи:
2 компьютера на базе Fedora 16 соединены виртуальной сетью, OpenVPN 2.2.2 запущена сервером на одном (далее Сервер) и клиентом на другом (далее, Клиент).
Задача - сделать так, чтобы другие компьютеры при коннекте на Клиент по специальному порту (далее Порт) попадали на Сервер по другому порту (можно по этому же) через VPN канал.
Интерфейсы на Сервере:
eht0 - имеет сразу внешний выделенный ип адрес - <внешний ип>.
tun0 - виртуальный интерфейс, созданный OpenVPN сервером. Адрес - 10.10.0.1.
Конфиг OpenVPN на Сервере:
server 10.10.0.0 255.255.255.0
client-config-dir /etc/openvpn/ccd
route 192.168.207.0 255.255.255.0
(остальное ничего не менял из стандартного конфига)
Файл Клиента в ccd на Сервере:
iroute 192.168.207.0 255.255.255.0
Route на Сервере:
default *.ru 0.0.0.0 UG 0 0 0 eht0
10.10.0.0 * 255.255.255.0 UG 0 0 0 tun0
10.10.0.2 * 255.255.255.255 UH 0 0 0 tun0
<внешний ип> * 255.255.255.0 U 1 0 0 eht0
192.168.207.0 10.10.0.2 255.255.255.0 UG 0 0 0 tun0
Интерфейсы на Клиенте:
p33p1 - сетевая карта, адрес 192.168.207.100, внетренняя сеть.
tun1 - виртуальный интерфейс, созданный OpenVPN клиентом. Адрес - 10.10.0.6.
*На адрес 192.168.207.100 проброшен Порт с роутера 192.168.207.1, который выходит в интернет.
Конфиг OpenVPN на Клиенте - стандартный.
Route на Клиенте:
default 192.168.207.1 0.0.0.0 UG 0 0 0 p33p1
10.10.0.0 10.10.0.5 255.255.255.0 UG 0 0 0 tun1
10.10.0.5 * 255.255.255.255 UH 0 0 0 tun1
192.168.207.0 * 255.255.255.0 U 1 0 0 p33p1
Для перенаправления порта пробовал iptables и rinetd.
В конечном итоге нужно:
Любой компьютер из интернета при подключении к внешнему адресу роутера сети Клиента, а так же компьютеры внутренней сети Клиента при подключении к нему проходили такую цепочку:
Сonnect <внешний адрес роутера сети Клиента>:Порт --- (NAT роутера) --->> 192.168.207.100:Порт (p33p1 Клиента) --- (iptables/rinetd/другое) --->> 10.10.0.1:Порт/другой порт (tun0 Сервера). Протокол - UDP.
Итак, канал OpenVPN работает.
Пинг с Сервера на 10.10.0.6 (tun1 Клиента) проходит.
Пинг с Клиента на 10.10.0.1 (tun0 Сервера) проходит.
Пинг с Сервера на 192.168.207.100 (p33p1) проходит.
Проблема 1: Пинг с Сервера на 192.168.207.1 и внутренние компьютеры сети Клиента 192.168.207.* не проходит. Думаю, если Сервер не знает адреса запроса, то и соединения не выйдет из-за отсутствия отклика.
Проблема 2: Чем лучше и как пробросить Порт на Клиенте. Служба rinetd вроде бы должна перебросить, если прописать строчку 192.168.207.100 Порт 10.10.0.1 Порт/другой порт. Либо спец. правила SNAT, DNAT + FORWARD в iptables. Только узнать этого я не могу пока не разрешится Проблема 1.
Спасибо.