Как направить весь трафик через vpn адаптер?

Я использую SoftEther, но это может быть не важно.

У меня есть следующий адаптер:

vpn_myadapter: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 [redacted]  prefixlen 64  scopeid 0x20<link>
        ether [redacted]  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

и у меня есть следующие маршруты:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         dslrouter.netge 0.0.0.0         UG    600    0        0 wlp4s0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 virbr0
192.168.123.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.254.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp4s0

Я должен знать, как я могу легко использовать Ubuntu для маршрутизации всего интернет-трафика через мой адаптер VPN.

1
задан 15 August 2018 в 08:47

1 ответ

Этот ответ предполагает, что Вы уже успешно соединили свою учетную запись и имеете рабочий адаптер.

Хорошо, после отсеивания через учебные руководства на таблицах/маршрутах IP я нашел решение, которое работает с SoftEther, который должен работать с другими адаптерами VPN к туннельному трафику через адаптер.

Запустите путем выполнения ip neigh получить шлюз по умолчанию сети Вашей VPN и шлюз по умолчанию этой сети. Вам также будет нужен Ваш IP удаленного сервера. Если это не получает информацию для Вас, работает ifconfig и tcpdump на IP для Вашего адаптера VPN.

Можно легко объединить шаги рева в сценарий удара и/или инвертировать их для разъединения адаптера VPN:

Сначала необходимо будет получить информацию о DHCP от сервера с:

sudo dhclient vpn_myadapter

vpn_myadapter название адаптера, которое может быть найдено с ifconfig.

Второй необходимо создать маршрут от IP-адреса сервера VPN до локального интернет-шлюза, который выведет Вас к Интернету. 55.55.55.55 то, что я буду использовать в качестве адреса сервера в качестве примера. Также необходимо будет знать то, что названия адаптера для интернет-соединения и VNA (виртуальный сетевой адаптер), и можно найти их с ifconfig. Можно также использовать IP ржание для получения краткого списка адаптеров и их шлюзов.

Команда для создания маршрута с IP VPN на локальный шлюз (в этом примере 192.168.0.1)

sudo ip route add 55.55.55.55/32 via 192.168.0.1 dev eth0

Удостоверьтесь, что eth0 установлен на адаптер, который соответствует Вашему локальному шлюзу

Затем Вы удалите свой маршрут по умолчанию, который направляет весь трафик по умолчанию.

sudo ip route del default

Теперь Вы добавите маршрут по умолчанию, который будет использовать шлюз VPN по умолчанию. Эта информация может быть собрана или от Вашего поставщика, сервер, из которого Вы устанавливаете или использование комбинации tcdump, ip neigh, и ifconfig. Вы смогли находить информацию в этой точке, но необходимо было работать ip neigh вначале, если Вы не можете найти информацию теперь. Я буду использовать шлюз по умолчанию по умолчанию, обеспеченный SoftEther, который является 192.168.30.1.

sudo ip route add default via 192.168.30.1 dev vpn_myadapter

Это должно направить весь Ваш трафик через удаленную сеть. Если Вы будете все еще не мочь соединиться с Интернетом, то необходимо будет работать DhcpEnableи SecureNatEnable (Вы не были должны, но, возможно, должны были бы работать NatEnable в зависимости от Вашей конфигурации) на Вашем сервере, если Вы не можете получить dhcp или Интернет, работающий после соединения клиента через эти шаги или Ваш dhclient команда не работала. Я не уверен, если Вашему серверу будет нужна перезагрузка после обновления его.

Править: SecureNatEnable включит NAT и DHCP.

3
ответ дан 3 December 2019 в 07:23

Другие вопросы по тегам:

Похожие вопросы: