1

Я настраивал VPN-сервер на моем Raspberry Pi 3 (последняя версия Noobs), который прекрасно работал. VPN создает дополнительный интерфейс, называемый vpn_vpn, и мой обычный интернет работает на wlan0 или иногда eth0. Моя проблема возникает из-за того, что для того, чтобы у Pi был доступ к Интернету, мне пришлось удалить шлюз, который автоматически добавляется всякий раз, когда vpn_vpn идет вверх или вниз (ifup/ifdown). Я в порядке с удалением этого шлюза, так как я не хочу, чтобы интернет проходил через VPN, у которого нет доступа в интернет. Команда, которую я использую для удаления этого шлюза: sudo ip route del default via 192.168.30.1 . Я знаю, что шлюз, который я пытаюсь удалить, всегда 192.168.30.1, потому что это настройка, которую я сделал для VPN. ПРИМЕЧАНИЕ. VPN также включает в себя сервер DHCP.

Как я могу предотвратить добавление этого шлюза даже при появлении интерфейса?

В лучшем случае, я хотел бы избежать добавления шлюза во время ifup vpn_vpn но все же иметь автоматическое добавление для всех других интерфейсов. Я требую этого, потому что я хочу сохранить возможность работы пи в разных сетях без жесткого кодирования для eth0 или wlan0, пожалуйста.

Я вполне уверен, что это как-то связано с dhclient, хотя я не знаю много о dhclient.

Я не изменял resolv.conf или dhclient.conf, но у меня они есть ниже, потому что у меня есть ощущение, что они могут нуждаться в редактировании или предоставлении подсказок.

/etc/resolv.conf

# Generated by resolvconf
nameserver 192.168.30.1
nameserver 10.0.11.66

/etc/dhcp/dhclient.conf

# Configuration file for /sbin/dhclient, which is included in Debian's
#       dhcp3-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
#       man page for more information about the syntax of this file
#       and a more comprehensive list of the parameters understood by
#       dhclient.
#
# Normally, if the DHCP server provides reasonable information and does
#       not leave anything out (like the domain name, for example), then
#       few changes must be made to this file, if any.
#

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

#send host-name "andare.fugue.com";
send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;
#require subnet-mask, domain-name-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;
#script "/etc/dhcp3/dhclient-script";
#media "-link0 -link1 -link2", "link0 link1";
#reject 192.33.137.209;

#alias {
#  interface "eth0";
#  fixed-address 192.5.5.213;
#  option subnet-mask 255.255.255.255;
#}

#lease {
#  interface "eth0";
#  fixed-address 192.33.137.200;
#  medium "link0 link1";
#  option host-name "andare.swiftmedia.com";
#  option subnet-mask 255.255.255.0;
#  option broadcast-address 192.33.137.255;
#  option routers 192.33.137.250;
#  option domain-name-servers 127.0.0.1;
#  renew 2 2000/1/12 00:00:01;
#  rebind 2 2000/1/12 00:00:01;
#  expire 2 2000/1/12 00:00:01;
#}

2 ответа2

0

Еще одно решение, которое может работать в зависимости от ваших настроек.

Если вы знаете, что ifup используется для запуска вашего VPN-интерфейса, vpn_vpn добавьте следующие строки в /etc/network/interfaces чтобы изменить маршрут по умолчанию (или любой другой):

iface vpn_vpn inet dhcp
  post-up sleep 6; ip route del default; ip route add default via <gateway_ip>

В зависимости от того, сколько времени потребуется для согласования DHCP и / или настройки маршрутизации VPN, вам может потребоваться увеличить время ожидания в первой команде post-up sleep 6 .

0

Я думаю, что, возможно, наконец-то придумал ответ. Я был бы рад услышать, если кто-нибудь придумает другое решение, которое может сработать.

Сейчас я тестирую это решение:

скрипт bash

echo "script \"/etc/dhcp/dhclient-script\";" | sudo tee -a /etc/dhcp/dhclient.conf

echo "#!/bin/sh
case \$interface in
vpn_vpn)
    unset \$new_routers
    ;;
*)
    ;;
esac" | sudo tee /etc/dhcp/dhclient-script
sudo chmod +x /etc/dhcp/dhclient-script

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .