Настроил ОПЕН ВПН.
Сервак на работе на ФРИБСД 10 = 192.168.21.21 (вируальный адрес 172.16.1.0)
Клиент ДОМА на Х-Ubuntu 14 = 10.10.1.13 (виртуальный адрес туннеля 172.16.1.22)
Настроено в режиме Туннеля по TCP подключению
С сервака могу пинговать Клиента и наоборот, тоесть маршруты пока верные прописаны.
ФАЕРВОЛЫ отключил на обоих машинах (sudo ufw status = неактивный)
ФОРВАРДИНГ ВКЛЮЧИЛ на обоих машинах ( net.ipv4.ip_forward = 1)
Вот Схема для наглядности:
http://www.ex.ua/895729044568Цель:
С Сервака попасть на любой ПК за КЛИЕНТОМ (в сеть 10.10.1.х)
Пинги идут только до Клиента и не далее.
Если на любом пк в Сети за Клиентом пропишу маршрут направляющий пакеты на КЛИЕНТА - то с этого пк смогу видеть сам сервак )))) но мне это не надо )))
Мне нужно с сервака увидеть любой пк за Клиентом ---- КАК ?
уже как неделю мучаю этот вопрос.
Клиентом была Windows - неудачно
Сделал клиентом Ubuntu - опять неудачно.
Помогите кто может..................
Спасибо
Конфиг Сервака:dev tun (туннель, бывает еще TAP -мост)
local 192.168.21.21 (адрес моего сервака в сети)
port 1194 (на какой порт повисает сервак)
proto tcp-server (tcp-server - для указания конкретных ip сервака и клиентов в виртуалке)
mode server (чтоб задавать конкренно АЙПИ сервака)
ifconfig 172.16.1.0 255.255.255.0 (АЙПИ сервака виртуальный указываем вручную)
ifconfig-pool 172.16.1.21 172.16.1.251 (ПУЛ адресов, какие адреса назначать клиентам, с какого диапазона)
route 172.16.1.0 255.255.255.0 (пишет маршрут на серваке - все обращения к сети 172.16.1.0 направлять в туннель )
push "route 172.16.1.0 255.255.255.0" (на клиенте пропишет - все обращения к сети 172.16.1.0 - в туннель)
push "route 192.168.21.0 255.255.255.0" (на клиенте - все обращения от туда в сеть 192.168.21.0 - в туннель)
route 10.10.1.0 255.255.255.0 (на серве - все обращения с серва в сеть клиента --- в туннель)
client-config-dir /usr/local/etc/openvpn/ccd
client-to-client
В клиентском файле на серваке:iroute 10.10.1.0 255.255.255.0
ДЛЯ НОВИЧКОВ!!!!
Для тех новичков (как и я), кто будет читать эту тему, расскажу на пальцах про маршрутизацию, может пригодиться кому.
Мне пришлось неделю потратить, чтоб хоть немного понять.
есть туннель виртуальный 172.16.1.0 (на клиенте это 172.16.1.22 на серваке 172.16.1.0)
Сервак имеет адрес 192.168.21.21
Клиент 10.10.1.13
Если мы хотим пропинговать с сервака клиентскую машину, без прописанных маршрутов - НЕ ДАСТ, не знает куда пинговать
Говорим себе - ХОЧУ ПИНГАНУТЬ с сервака сеть 10.10.1.0
Пишем маршрут:
ВСЕ ПАКЕТЫ к сети 10.10.1.0 - ПУСТЬ БЕГУТ через туннель 172.16.1.0 (со стороны сервака вход в туннель)
route add 10.10.1.0 mask 255.255.255.0 172.16.1.0 (для разных ОС пишется по разному)
Теперь пингуя с сервера клиентский ПК маршрут будет понятный компьютеру
Теперь хотим допустим пропинговать с Клиента (10.10.1.13) - сервак (192.168.21.21)
Пишем:
Все пакеты для 192.168.21.0 сети хочу чтоб направлялись через туннель 172.16.1.22 (со стороны клиента вход в туннель)
route add 192.168.21.0 mask 255.255.255.0 172.16.1.22
расшифровываю всю строку:
Все обращения к сети 192.168.21.х где изменяется только последняя цифра (0 стоит вместо 255 в маске) направлять в пещеру со стороны 172.16.1.22 адреса
Когда вы обращаетесь куда-то, операционка смотрит по таблице маршрутизации что вы хотите и куда направить.
Выбирает нужную строку из списка и направляет в нужный туннель.
ОТВЕТ!!!!Для того, чтоб я с сервака смог пинговать любой ПК за Клиентом, мне пришлось в Роутере за клиентом прописать два маршрута:
192.168.21.0 - направлять в 10.10.1.14 (в компьютер клиента)
172.16.1.0 --- направлять тоже в компьютер клиента 10.10.1.14
(клиент до этого был 10.10.1.13, я статически сделал его 10.10.1.14, вверху было указано 13, сменил во время экспериментов)
СПАСИБО ОГРОМНОЕ -fisher74