Привет.
Делаю VPN killswitch на linux ноутбуке и среди рекомендаций нашел два очень похожих набора правил для iptables. Хочу вас спросить, идентичны ли они? Или какой-то из них предпочтительнее для выбора?
Первое решение:
iptables --flush
iptables --delete-chain
iptables -t nat --flush
iptables -t nat --delete-chain
iptables -P OUTPUT DROP
iptables -A INPUT -j ACCEPT -i lo
iptables -A OUTPUT -j ACCEPT -o lo
iptables -A OUTPUT -j ACCEPT -d 169.38.69.24/32 -o wlp6s0 -p udp -m udp --dport 1194
iptables -A INPUT -j ACCEPT -s 169.38.69.24/32 -i wlp6s0 -p udp -m udp --sport 1194
iptables -A INPUT -j ACCEPT -i tun0
iptables -A OUTPUT -j ACCEPT -o tun0
Второе решение:
iptables --flush
iptables --delete-chain
iptables -t nat --flush
iptables -t nat --delete-chain
iptables -P OUTPUT DROP
iptables -A INPUT -j ACCEPT -i lo
iptables -A OUTPUT -j ACCEPT -o lo
iptables -A OUTPUT -j ACCEPT -d 169.38.69.24
iptables -A OUTPUT -j ACCEPT -o tun0
Я не очень "сетевой" парень. Для меня оба решения выглядит почти одинаково. Только не понимаю почему в первом случае мы отдельно разрешаем
INPUT
на
tun0
и на VPN сервер, а во втором случае такого правила нет. В остальном второе решение смотрится лаконичнее.