Текущий сценарий моих интерфейсов с их IP-адресами и шлюзами выглядит следующим образом.
ПК1 ->
IF11 192.168.1.100 ГВт 192.168.1.220
ПК2 ->
IF21 192.168.1.210 ГВт 192.168.1.1
IF22 192.168.1.220 ГВт 192.168.1.250
ПК3 ->
IF31 192.168.1.250 ГВт 192.168.1.1
IF32 х.х.х.х
Я хочу, чтобы мой сетевой трафик перемещался следующим образом:
В ПК1 ->
Весь трафик с ПК1 будет перемещаться на ПК2 IF22.
В ПК2 ->
Весь трафик локальной сети будет перенаправляться на ПК2 IF21, который, в свою очередь, перенаправляет его на мой шлюз.
Весь трафик WAN будет направляться на PC3 IF31.
В ПК3 ->
IF32 — это туннельный интерфейс VPN. Я уже настроил этот компьютер таким образом, что весь трафик, поступающий на IF31, перенаправляется на IF32 для связи с глобальной сетью. Команды, используемые в PC3, следующие:
эхо 1 >/proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i IF31 -o IF32 -j ПРИНЯТЬ
iptables -A FORWARD -i IF32 -o IF31 -m состояние --state УСТАНОВЛЕНО,СВЯЗАННО -j ПРИНЯТЬ
iptables -t nat -A POSTROUTING -o IF32 -j MASQUERADE
эхо "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
Теперь мне нужна помощь в настройке PC2 таким образом, чтобы он идентифицировал пакеты (может быть, через пункт назначения?) и пересылал их по мере необходимости. А может быть, если есть возможность использовать только 1 интерфейс в ПК2 и применить на нем правила политик для пробрасывания на разные шлюзы?
Сеть назначения LAN может быть, например, 192.168.20.0/24 и 192.168.30.0/24.