Я установил рабочий стол ubuntu 20.04 и хочу настроить белый список iptables как для INPUT, так и для OUTPUT, чтобы в белый список попадали не только веб-сайты, но и все соединения, которые могут быть инициированы из установленных программ. Рабочий стол ubuntu использует подключение к Интернету привязанного телефона Android.
Я настроил белый список, который вы видите ниже.
Он блокирует все IP-адреса, не внесенные в белый список.
Он может открывать веб-сайт http из белого списка в браузере
Он может пинговать любой веб-сайт из белого списка в cli, как http, так и https
, но не может открыть веб-сайт https из белого списка
ip6tables --policy ВВОД ПРИНЯТЬ;
ip6tables --policy OUTPUT ACCEPT;
ip6tables --policy FORWARD ACCEPT;
ip6tables -Z;
ip6tables -F;
ip6tables -X;
iptables --policy INPUT ACCEPT;
iptables --policy OUTPUT ACCEPT;
iptables --policy FORWARD ACCEPT;
iptables -Z;
iptables -F;
iptables -X;
# это позволяет пинговать веб-сайт http или https из белого списка
iptables -A ВХОД -s 127.0.0.53 -j ПРИНЯТЬ
iptables -A ВЫХОД -d 127.0.0.53 -j ПРИНЯТЬ
iptables -A INPUT -m state --state УСТАНОВЛЕНО, СВЯЗАННО -j ПРИНЯТЬ
iptables -A ВЫХОД -m состояние --state УСТАНОВЛЕН, СВЯЗАННЫЙ -j ПРИНЯТЬ
iptables -A ВВОД -i lo -j ПРИНЯТЬ
iptables -A ВЫХОД -o lo -j ПРИНЯТЬ
# белый список IP
iptables -A ВВОД -s 193.99.144.80 -j ПРИНЯТЬ
iptables -A ВЫХОД -d 193.99.144.80 -j ПРИНЯТЬ
iptables -A ВПЕРЕД -d 193.99.144.80 -j ПРИНЯТЬ
iptables -P ПАДЕНИЕ ВВОДА
iptables -P ВЫХОДНОЕ УДАЛЕНИЕ
iptables -P FORWARD DROP
Как мне нужно изменить настройки, чтобы я мог открывать https-сайты из белого списка в браузере? Может быть, проблема в том, что я использую интернет-соединение Android, подключенное к USB, а не по Ethernet?
Решено. IP-адрес, который я пытался внести в белый список, вызвал некоторые проблемы, не знаю, что именно. но следующий белый список, кажется, работает с другими ips. Обратите внимание, что для запуска некоторых веб-сайтов требуются дополнительные службы, такие как cdn или jquery и т. д.
#start fresh
iptables --policy INPUT ACCEPT;
iptables --policy OUTPUT ACCEPT;
iptables --policy FORWARD ACCEPT;
iptables -Z; # zero counters
iptables -F; # flush (delete) rules
iptables -X; # delete all extra chains
#this seems to be essential for dns
iptables -A INPUT -s 192.168.42.129 -j ACCEPT
iptables -A OUTPUT -d 192.168.42.129 -j ACCEPT
#whitelisted domain
iptables -A INPUT -s 77.247.84.129 -j ACCEPT
iptables -A OUTPUT -d 77.247.84.129 -j ACCEPT
# drop the rest
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP`enter code here`