Вступление: Привет! Я пытался заставить VPN и команду ssh работать вместе. И я был успешен до такой степени, что я могу получить на сервере с ssh user@hostname
. Но когда VPN активен, весь мой интернет проходит через этот VPN.
Цель: Я хотел бы использовать свое собственное интернет-соединение для всего, кроме этого SSH-соединения.
Опция прерывает SSH> VPN: Я заметил, что есть опция «Использовать это соединение только для ресурсов в своей сети» в « Редактирование VPN» - «Настройки IPv4» вкладка - кнопка «Маршруты ...» . Это выглядело как решение, но если я включил это, я больше не могу подключиться с помощью команды «ssh user @ hostname» , она зависает до истечения времени ожидания.
Мысли: Пока я думаю, что это не работает, потому что имя хоста (из ssh username @ hostname) и шлюз (из настроек VPN) отличаются. Но я не знаю достаточно о ssh или VPN, чтобы это знать.
Идеи? Есть ли какая-то опция в ssh, которую я пропускаю? Я попытался ssh -b gatewayFromVPN username@hostname
, но это не сработало (и я сомневаюсь, что это должно). Или есть опция в настройках VPN или что-то, что может решить эту проблему?
Заранее спасибо.
Резюме
«Использовать это соединение только для ресурсов в своей сети» разрывает SSH> VPN
Я отчасти достиг что я разыскиваемый под управлением Ubuntu фактически в Windows 7 в данный момент. (В настоящее время рабочий VMware Player с Ubuntu 12.04) Этот способ, которым мой весь Интернет на Ubuntu проходит VPN, но я могу использовать свой браузер и т.д. в окнах 7, что не имеет той VPN.
, Хотя это не то, к чему я стремился, это должно будет сделать на данный момент.
, Возможно, я могу запустить Ubuntu фактически в Ubuntu или чем-то так, что у меня нет потребности в окнах в будущем...
Я хотел сделать что-то подобное в прошлом. У меня было две идеи: вещи разделения на основе порта и вещи разделения на основе владельца процесса. Сетевая система Linux, это выясняется, может обработать оба из этих сценариев.
я задал два вопроса на Unix. SE. Я не следовал ни одному особенно хорошо поэтому, если Вы действительно играете вокруг, сообщите мне что работы для Вас.
, осмелюсь сказать, существует некоторое перекрытие между этими двумя методами, и вот почему я упоминаю их обоих здесь. Я также поместил большую щедрость на второе для некоторых твердых примеров. Я думаю, разделяя сетевые соединения между пользователями, вероятно, самый полезный сценарий для нас обоих.
Редактирование: Я просто сделал Google для iptables owner
, и нашел это . Это, кажется, предполагает, что несколько грязных iptables строк согласовали бы это право. Я должен все еще протестировать, но это выглядит положительно простым...
Предполагают, что Вы имели eth0
и eth1
соединения, и Вы хотели, чтобы пользователь bob
использовал eth1
и только когда-либо использовал eth1
и вызвал все остальное на eth0
. Это должно сделать это...
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth0 -m owner --uid-owner bob -j DROP
iptables -A OUTPUT -o eth1 -m owner --uid-owner bob -j ACCEPT
iptables -A OUTPUT -o eth1 -j DROP
iptables -A OUTPUT -o eth0 -j ALLOW
я предполагаю, что можно просто подкачать наш eth1
для имени соединения VPN и bob
для нового пользователя, которого Вы создадите для выполнения соединения SSH от через: su -c ssh username@host bob
.
Лучший способ достигнуть этого состоит в том, чтобы определить маршрут к Вашему хосту ssh через шлюз VPN, значение по умолчанию направляют через Ваш интернет-шлюз.
К дополнительным материалам для чтения: