Маршрутизация подсети в Интернет

Маршрутизация Интернет-трафика через компьютер в другой подсети

У меня есть 2 ящика debian, и я хотел бы использовать один из них в качестве сервера vpn, а другой - в качестве клиента. Цель состоит в том, чтобы клиент мог получить доступ к Интернету через Интернет-соединение сервера. Другими словами:

клиент (зашифрованные пакеты) ---> ISP1 ----> ISP2 ----> сервер (расшифровывает пакеты) ----> ISP2

и наоборот для ответов.

Я настроил свои устройства TUN и могу пинговать. Так что, похоже, это проблема маршрутизации.

client# route -n
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlp1s0
0.0.0.0         0.0.0.0         0.0.0.0         U     1002   0        0 enp2s0
10.0.0.0        10.4.0.1        255.255.255.0   UG    0      0        0 tun1
10.4.0.1        0.0.0.0         255.255.255.255 UH    0      0        0 tun1
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 enp2s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlp1s0

Очевидно, в настоящее время интернет-запросы маршрутизируются через 192.168.1.1 . Однако, если я установил прокси-сервер Mozilla Firefox на 10.0.0.0 , ничего не будет доступно. traceroute 10.0.0.0 показывает только 1 переход.

server# route -n
0.0.0.0         192.168.0.1     0.0.0.0         UG    202    0        0 eth0
10.0.0.0        10.4.0.2        255.255.255.0   UG    0      0        0 tun1
10.4.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun1
192.168.0.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0

Что отсутствует?

0
задан 15 October 2017 в 19:07
1 ответ

Для этого потребуются как новые маршруты, так и брандмауэр, чтобы позволить клиенту получить доступ к Интернету через сервер.

Предположим, что соединение VPN используется для соединения клиента с сервером и VPN подсеть между клиентом и сервером является одноранговой, а идентификатор подсети: 10.40.0.0.

Вам необходимо изменить шлюз по умолчанию для клиента со следующим статическим маршрутом, чтобы он перенаправлял весь нелокальный трафик на сервер:

ip изменение маршрута по умолчанию через 10.4.0.2

Между тем вам необходимо создать правило NAT в политике брандмауэра сервера, чтобы весь Интернет-трафик принимался исходящим от самого сервера. Предположим, что сетевой интерфейс с выходом в Интернет - eth0 , правило NAT выглядит следующим образом:

iptables -t nat -A POSTROUTING -s 10.4.0.0/24 -o eth0 -j MASQUERADE

Надеюсь на это может помочь.

0
ответ дан 5 December 2019 в 07:18

Теги

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