Я пытаюсь настроить межсетевой экран с сохранением состояния с помощью iptables. Он предназначен для использования на моем настольном компьютере.
Ниже приведено содержимое моего сценария брандмауэра:
#!/bin/bash
iptables-save > /home/username/iptables.save
iptables -A INPUT -m conntrack -j DROP --ctstate INVALID
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p UDP -m tcp -m conntrack -s a.b.c.d -i eth0 --sport 1275 -j ACCEPT --ctstate ESTABLISHED
iptables -A OUTPUT -p UDP -m tcp -m conntrack -d a.b.c.d -o eth0 --dport 1275 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A INPUT -i eth0 -j DROP
iptables -A OUTPUT -o eth0 -j REJECT
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 80 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 443 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p udp -m udp -m conntrack -o tun0 --dport 53 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 53 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 80 -j ACCEPT --ctstate ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 443 -j ACCEPT --ctstate ESTABLISHED
iptables -A INPUT -p udp -m udp -m conntrack -i tun0 --sport 53 -j ACCEPT --ctstate ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 53 -j ACCEPT --ctstate ESTABLISHED
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -j DROP
После подключения к VPN-серверу с IP-адресом a.b.c.d через порт 1275 и протокол UDP я запускаю указанный выше брандмауэр. (Я не использую NetworkManager)
Сразу же появляется сообщение об ошибке, в котором говорится
write UDPv4: Operation not permitted (code=1)
Что произошло?
Как мне решить проблему?
PS: Пожалуйста, не стесняйтесь улучшать мои правила iptables.