Цель: извлечь IP-адреса из файлов конфигурации VPN и заблокировать их. с помощью iptables.
Сведения о среде:
- Расположение: /etc/ NetworkManager/system-connections/
- Тип файла: .nmconnection
- Цель: только файлы конфигурации VPN
ip=$(grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /etc/NetworkManager/system-connections/*)
iptables -A INPUT -s "$ip" -j DROP
iptables -A OUTPUT -d "$ip" -j DROP
Мне нужна помощь со сценарием для управления IP-адресами VPN в Linux NetworkManager.
Цель: извлечь IP-адреса из файлов конфигурации VPN и заблокировать их. с помощью iptables.
Сведения о среде:
- Расположение: /etc/ NetworkManager/system-connections/
- Тип файла: .nmconnection
- Цель: только файлы конфигурации VPN
ip=$(grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /etc/NetworkManager/system-connections/*)
iptables -A INPUT -s "$ip" -j DROP
iptables -A OUTPUT -d "$ip" -j DROP
Проблемы, которые необходимо решить:
- Необходимо идентифицировать и обрабатывать только VPN файлы конфигурации
- Извлечение отдельных IP-адресов (пример: 137.119.23.205)
- Применить правила iptables для каждого IP отдельно
Что такое рекомендуемый метод фильтрации файлов конфигурации VPN?
Технические требования:
- Решение должно быть реализовано на Python
- Необходимо обрабатывать несколько файлов
- Должны обрабатываться только действительные IP-адреса
** Файл .nmconnection**
[connection]
id=jp-free-840006.protonvpn.tcp
uuid=d9a1c788-db09-41a2-8884-9ee3024f
type=vpn
autoconnect=false
[vpn]
ca=/home/user/.cert/nm-openvpn/jp-free-840006.protonvpn.tcp-ca.pem
cipher=AES-256-GCM
connection-type=password
dev=tun
mssfix=0
password-flags=1
proto-tcp=yes
remote=138.199.22.103:7770, 138.199.22.103:443, 138.199.22.103:8443
remote-cert-tls=server
remote-random=yes
reneg-seconds=0
tls-crypt=/home/user/.cert/nm-openvpn/jp-free-840006.protonvpn.tcp-tls-crypt.pem
tunnel-mtu=1500
username=user
service-type=org.freedesktop.NetworkManager.openvpn
[ipv4]
method=auto
[ipv6]
addr-gen-mode=stable-privacy
method=auto
[proxy]
Подробнее здесь: https://stackoverflow.com/questions/792 ... ation-file