Настройка работы KDE Connect с включённым VPN
Здравствуйте, уважаемые сограждане!
Как и у многих, возникла необходимость в использовании VPN. Создал собственный с помощью Outline VPN, но теперь, когда ВПН включён, перестаёт коннектиться KDE Connect. Поиск дал возможный ответ — проблема в том, что КДЕ Коннект общается с компом на строго определённых портах, а ВПН также подключается на собственном порте, далёком от этих. Поскольку сам в этом вообще не разбираюсь, отправился за помощью к ChatGPT.
Он посоветовал настроить Split Tunneling через iptables, чтобы общение между телефоном и компьютером пробрасывалось напрямую, мимо ВПН. Я выдал в настройках роутера статические IP для обоих устройств и начал следовать советам ИИ.
Сперва я создал необходимые папки и т.п., а затем выполнил вот такие вещи:
Вот конечный результат, который показывается командами sudo iptables -t mangle -L -v -n и ip rule show:
Как вы уже поняли, КДЕ Коннект так и не заработал. Может быть, здесь есть знающие люди, которые подскажут — что здесь неправильно и как это исправить?
Заранее спасибо!
Как и у многих, возникла необходимость в использовании VPN. Создал собственный с помощью Outline VPN, но теперь, когда ВПН включён, перестаёт коннектиться KDE Connect. Поиск дал возможный ответ — проблема в том, что КДЕ Коннект общается с компом на строго определённых портах, а ВПН также подключается на собственном порте, далёком от этих. Поскольку сам в этом вообще не разбираюсь, отправился за помощью к ChatGPT.
Он посоветовал настроить Split Tunneling через iptables, чтобы общение между телефоном и компьютером пробрасывалось напрямую, мимо ВПН. Я выдал в настройках роутера статические IP для обоих устройств и начал следовать советам ИИ.
Сперва я создал необходимые папки и т.п., а затем выполнил вот такие вещи:
sudo iptables -t mangle -F
sudo iptables -t mangle -A OUTPUT -p tcp -s 192.168.1.197 -d 192.168.1.53 --sport 1714:1764 -j MARK --set-mark 1
sudo iptables -t mangle -A OUTPUT -p udp -s 192.168.1.197 -d 192.168.1.53 --sport 1714:1764 -j MARK --set-mark 1
sudo iptables -t mangle -A OUTPUT -p tcp -s 192.168.1.53 -d 192.168.1.197 --sport 1714:1764 -j MARK --set-mark 1
sudo iptables -t mangle -A OUTPUT -p udp -s 192.168.1.53 -d 192.168.1.197 --sport 1714:1764 -j MARK --set-mark 1
sudo iptables -t mangle -L -v
echo "201 custom" | sudo tee -a /etc/iproute2/rt_tables
sudo ip rule add fwmark 1 table 201
sudo ip route add default via 192.168.1.1 dev enp3s0 table 201
sudo iptables-save | sudo tee /etc/iptables/iptables.rules
sudo systemctl restart iptables
sudo iptables -t mangle -L -v
Вот конечный результат, который показывается командами sudo iptables -t mangle -L -v -n и ip rule show:
Chain PREROUTING (policy ACCEPT 118K packets, 140M bytes)
pkts bytes target prot opt in out source destination
9 368 MARK 6 -- * * 0.0.0.0/0 0.0.0.0/0 multiport sports 1714:1764 MARK set 0x1
2 4296 MARK 17 -- * * 0.0.0.0/0 0.0.0.0/0 multiport sports 1714:1764 MARK set 0x1
Chain INPUT (policy ACCEPT 118K packets, 140M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 56643 packets, 10M bytes)
pkts bytes target prot opt in out source destination
0 0 MARK 6 -- * * 192.168.1.197 192.168.1.53 tcp spts:1714:1764 MARK set 0x1
0 0 MARK 17 -- * * 192.168.1.197 192.168.1.53 udp spts:1714:1764 MARK set 0x1
0 0 MARK 6 -- * * 192.168.1.53 192.168.1.197 tcp spts:1714:1764 MARK set 0x1
0 0 MARK 17 -- * * 192.168.1.53 192.168.1.197 udp spts:1714:1764 MARK set 0x1
171 14935 MARK 6 -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 1714:1764 MARK set 0x1
9 19332 MARK 17 -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 1714:1764 MARK set 0x1
Chain POSTROUTING (policy ACCEPT 56720 packets, 10M bytes)
pkts bytes target prot opt in out source destination
0: from all lookup local
23332: from all fwmark 0x1 lookup custom
23333: not from all to 147.45.125.202 lookup 233
32766: from all lookup main
32767: from all lookup default
Как вы уже поняли, КДЕ Коннект так и не заработал. Может быть, здесь есть знающие люди, которые подскажут — что здесь неправильно и как это исправить?
Заранее спасибо!