Маршрутизация трафика от клиентов VPN сети (Tincdaemon+Убунту)

у меня есть демон tinc, работающий на виртуальной машине Ubuntu. Моя таблица маршрутизации выглядит следующим образом:

default via 10.0.2.2 dev enp0s3  proto static  metric 100 
10.0.0.0/24 dev vpnnet  scope link 
10.0.2.0/24 dev enp0s3  proto kernel  scope link  src 10.0.2.15  metric 100 
169.254.0.0/16 dev enp0s3  scope link  metric 1000 

где - 10.0.2.0/24 - подсеть локальной сети, 10.0.0.0 / 24 - подсеть VPN

интерфейсы:

vpnnet    Link encap:Ethernet  HWaddr b2:e8:0b:22:22:f1  
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::b0e8:bff:fe22:22f1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:62 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2736 (2.7 KB)  TX bytes:5760 (5.7 KB)

enp0s3    Link encap:Ethernet  HWaddr 08:00:27:12:d8:be  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::5333:40a8:822c:e6f9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6428 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2575 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6131799 (6.1 MB)  TX bytes:200156 (200.1 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:206 errors:0 dropped:0 overruns:0 frame:0
          TX packets:206 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15740 (15.7 KB)  TX bytes:15740 (15.7 KB)

enp0s3-имя локального интерфейса, имя интерфейса vpnnet - VPN.
10.0.0.1 - VPN-сервер, 10.0.0.131 - VPN-клиент.

у клиента заменен шлюз по умолчанию, поэтому он может только пинговать сервер (10.0.0.1), но ничего еще.

таблица маршрутизации клиента:

0.0.0.0/1 via 10.0.0.254 dev tap0
server-static-ip via 192.168.1.1 dev wlan0
10.0.0.0/8 dev tap0  proto kernel  scope link  src 10.0.0.131
10.0.0.254 dev tap0  scope link
128.0.0.0/1 via 10.0.0.254 dev tap0
192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.46  metric 310
192.168.1.1 dev wlan0  scope link

Я хочу, чтобы клиент мог получить доступ к интернет через мой сервер Ubuntu. (Вроде как прокси) насколько я понимаю, мне нужно маршрутизировать весь трафик, который поступает из моего vpn-клиента в интернет через шлюз по умолчанию на enp0s3 и обратно.
Какие изменения необходимо внести в таблицу маршрутизации / NAT для достижения этой цели?

Я посмотрел статьи, описывающие способ решения этой проблемы с помощью правил iptables POSTROUTING, но мне кажется, ничего не помогает.

помогите!

18
задан Noname135
03.01.2023 18:18 Количество просмотров материала 3615
Распечатать страницу

1 ответ

вы не упомянули , который адрес шлюза, используемый клиентом. Имеет ли он значение 10.0.0.1 (ваш IP)? Если да, то все в порядке - просто следуйте тот же инструкции (учебники) для создания собственного маршрутизатора. Примерно:

  1. включить переадресацию IPv4 в масштабе всей системы, используя net.ipv4.conf.all.forwarding sysctl;

  2. добавьте правило маскарада iptables/ nft, чтобы пакеты ваших клиентов были SNATed.

альтернативно (чище технически, но более конфигурации):

  1. включить переадресацию IPv4;

  2. не делать NAT, а настроить код upstream маршрутизатор, чтобы иметь статический маршрут к 10.0.0.0/24 через ваш IP 10.0.2.15.

0
отвечен grawity 2023-01-05 02:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

linux
nat
networking
routing
vpn
Вверх