Если вы хотите, чтобы VPN использовала только конкретная программа, то, я думаю, ключевое слово, которое вы ищете, — «разделенный -туннель». Разделенный туннель означает, что определенный трафик будет использовать VPN, обычно контролируемый с помощью таблиц маршрутизации, в то время как другой сетевой трафик будет использовать шлюз локальной сети по умолчанию. Я делаю это для своей рабочей VPN, где электронная почта и другой рабочий трафик используют VPN, но мой трафик Facebook и Google никогда не касается моих работодателей / сети VPN.
Если у вас есть контроль над сервером OpenVPN, вы можете обновить его конфигурацию, чтобы отправлять только определенные маршруты на Pi и не становиться маршрутом по умолчанию.
Вы также можете настроить это на стороне клиента/Pi, либо изменив файл OVPN перед его импортом, либо просто настроив сетевую конфигурацию Pi с помощью обычных команд Debian, подобных этим:
$ sudo ip route delete default
$ sudo ip route add default via X.Y.Z.IP
Firewalld настраивает iptables или nftables, и результирующая конфигурация имеет состояние (на основе состояния соединения :установлено, связано, не отслеживается, недействительно, новое ).
Вы можете проверить текущую конфигурацию с помощью iptables -L -n -v
и nft list ruleset
.
Вы можете выбрать, какой сервер вы хотите использовать в /etc/firewalld/firewalld.conf
с опцией FirewallBackend
. Если вы хотите, чтобы Firewalld использовал iptables, вы должны установить:FirewallBackend=iptables
Если вы хотите отключить Firewalld для использования стандартных конфигураций iptables, вы можете использовать:
systemctl disable firewalld --now
systemctl mask firewalld