BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: openconnect - запрет смены шлюза и DNS
СообщениеДобавлено: Пт 28 ноя, 2014 4:12 am 
Не в сети

Зарегистрирован: Пт 06 июн, 2014 6:15 am
Сообщения: 26
Имеется подключение к VPN через openconnect (со стандартым скриптом из пакета, без обберток):

Код:
sudo openconnect -b --user=username --usergroup=Corp --script=/usr/local/sbin/vpnc-script vpn_server_host


После подключения DNS и шлюз заменяются на те, которые подсовывает VPN-сервер.

Вопрос: как этого правильно избежать? По сути мне нужен только один route - на одну единственную машину в VPN-сети, к которой я коннекчусь по VNC и с нее уже гуляю по всей остальной сетке.

Знаю что есть какие-то оббертки, которые после соединения прибивают route-ы и сбрасывают шлюз, но по ДНС ничего не нашел. Одним словом - у кого есть готовая рабочая версия?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: openconnect - запрет смены шлюза и DNS
СообщениеДобавлено: Пт 28 ноя, 2014 3:48 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5247
Откуда: Москва
Наверняка этот ваш vpnc-script и определяет все изменения в настройках машины - измените его чтобы не делал того что не нужно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: openconnect - запрет смены шлюза и DNS
СообщениеДобавлено: Пт 28 ноя, 2014 8:08 pm 
Не в сети

Зарегистрирован: Пт 06 июн, 2014 6:15 am
Сообщения: 26
Спасибо, кэп.
Но это не мой скрипт, а стандартный, идущий в пакете vpnc-scripts. Обычно его не принято менять, вместо этого его "обборачивают" в другой скрипт, вопрос был в том - какой?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: openconnect - запрет смены шлюза и DNS
СообщениеДобавлено: Пт 28 ноя, 2014 8:47 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5247
Откуда: Москва
robert1307 писал(а):
Спасибо, кэп.
Но это не мой скрипт, а стандартный, идущий в пакете vpnc-scripts. Обычно его не принято менять, вместо этого его "обборачивают" в другой скрипт, вопрос был в том - какой?

Кем не принято? Его нужно скопировать в отдельное место и там изменить как нужно, либо (для простого случая как ваш) написать свой. Оборачиванием его поведение можно изменить только в ограниченных пределах, скажем навскидку я не вижу способа выключить изменение шлюза по умолчанию, хотя изменение resolv.conf, похоже, можно выключить обнутив INTERNAL_IP4_DNS.

PS. Хотя нет, похоже что можно заполнить CISCO_SPLIT_* нужным вам маршрутом, тогда шлюз по умолчанию не будет изменяться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: openconnect - запрет смены шлюза и DNS
СообщениеДобавлено: Сб 29 ноя, 2014 4:45 am 
Не в сети

Зарегистрирован: Пт 06 июн, 2014 6:15 am
Сообщения: 26
Вообщем, удалось найти такое (https://gist.github.com/jagtesh/5531300) решение, может кому пригодиться.
Из всех виденных вариантов (менять стандартный скрипт, ставить запрет изменения resolv.conf на уровне файловой системы и т.п.) данный вариант самый изящный. Если есть лучше - делитесь.

1. Главный скрипт:
Код:
#!/bin/tcsh
sudo openconnect -b --user=username --usergroup=usergroup --script=/home/username/vpnc-script-wrapper.sh vpn_server_host_addr

# keep-alive hack
while (1)
    ping -c 2 vpn_host_ip
    sleep 60
end


2. vpnc-script-wrapper.sh:
Код:
#!/bin/sh

# Add one IP to the list of split tunnel
add_ip ()
{
        export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_ADDR=$1
        export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASK=255.255.255.255
        export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASKLEN=32
        export CISCO_SPLIT_INC=$(($CISCO_SPLIT_INC + 1))
}

# Initialize empty split tunnel list
export CISCO_SPLIT_INC=0

# Delete DNS info provided by VPN server to use internet DNS
# Comment following line to use DNS beyond VPN tunnel
unset INTERNAL_IP4_DNS

# List of IPs beyond VPN tunnel
add_ip vpn_host_ip1
add_ip vpn_host_ip2
add_ip vpn_host_ip3

# Execute default script
. /usr/local/sbin/vpnc-script

# End of script


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика