Я настроил свой маршрутизатор в локальной сети на использование динамического DNS (no-ip) для получения «статического» имени хоста. Я перенаправил порт 22 на свой локальный компьютер, и я могу удаленно войти в него с помощью ssh. Мне также нужна машина для подключения к сети vpn для доступа к серверам, с которыми я должен работать. К сожалению, как только я запускаю vpn, я отключаюсь и больше не могу повторно подключиться, используя статическое имя хоста. Я все еще могу пропинговать имя хоста, поскольку маршрутизатор ответит, но я больше не могу подключиться по ssh к машине, к которой мне нужно подключиться.
ssh: connect to host myhostname.no-ip.biz port 22: Connection timed out
Я использую vpnc для подключения к vpn, однако это специальная сборка, предоставленная моим университетом. Они заявляют, что обычный клиент vpnc несовместим. Они также предоставляют файл конфигурации, который выглядит следующим образом
IPSec gateway vpn.uni-mannheim.de
IPSec ID doniluma
IPSec secret wlan
IKE Authmode hybrid
CA-File uni-ma.pem
Xauth username myusername
И файл сертификата. Есть ли возможность настроить маршрутизацию или что-то подобное, чтобы я мог (повторно) подключиться после инициализации vpn с помощью vpnc-connect?
На странице руководства VPNC:
The vpnc daemon by itself does not set any routes, but it calls vpnc-script to do this job. vpnc-script displays a connect banner. If the concentrator supplies a network list for split-tunneling these networks are added to the routing table. Otherwise the default- route will be modified to point to the tunnel. Further a host route to the concentrator is added in the later case. If the client host needs DHCP, care must be taken to add another host route to the DHCP-Server around the tunnel.
Таким образом, ваш трафик, скорее всего, направляется в ваш университет, и если у них есть ограничительный брандмауэр, порт 22 может быть закрыт снаружи. Таким образом, вы либо просите своих сетевых администраторов изменить настройки VPN-сервера, чтобы не устанавливать маршрут по умолчанию для соединения, либо вам нужно изменить поведение вашего клиента. По-видимому, нет возможности сделать это (или, по крайней мере, я этого не заметил), но я нашел обходной путь Вот. Сделайте копию / etc / vpnc / vpnc-script и отредактируйте исходный файл. В моей версии есть два объявления set_default_route()
функция. Вы должны изменить их, чтобы не менять маршрут по умолчанию. Первый должен выглядеть так:
set_default_route() {
$IPROUTE route | grep '^default' | fix_ip_get_output > "$DEFAULT_ROUTE_FILE"
# $IPROUTE route replace default dev "$TUNDEV"
$IPROUTE route flush cache
}
а второй
set_default_route() {
DEFAULTGW="`get_default_gw`"
echo "$DEFAULTGW" > "$DEFAULT_ROUTE_FILE"
# route $route_syntax_del default $route_syntax_gw "$DEFAULTGW"
# route add default $route_syntax_gw "$INTERNAL_IP4_ADDRESS" $route_syntax_interface
}
Остерегайтесь, я не тестировал эти модификации, поэтому вам может потребоваться их немного изменить.