Базовая проблема с брандмауэром Linux Iptables

Базовая проблема с брандмауэром Linux Iptables

После ввода этих команд в терминал на хосте с установленным Iptables при подключении к беспроводной сети с доступом в Интернет не загружаются веб-страницы.

Я знаю, что это что-то простое, но я не знаю что именно.

sudo iptables --policy INPUT DROP
sudo iptables --policy OUTPUT DROP
sudo iptables --policy FORWARD DROP

sudo iptables -A OUTPUT -j ACCEPT -p tcp --destination-port 53

sudo iptables -A OUTPUT -j ACCEPT -p tcp --destination-port 80

sudo iptables -A OUTPUT -j ACCEPT -p tcp --destination-port 443

sudo iptables -A OUTPUT -j ACCEPT -p udp --destination-port 53


sudo /sbin/iptables-save

Перечисленная конфигурация после предыдущих команд:

user@debian:~$ sudo iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain


user@debian:~$ sudo iptables -L -v
Chain INPUT (policy DROP 1095 packets, 131K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy DROP 33 packets, 2574 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:domain
    8   480 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:http
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:https
 1072 70910 ACCEPT     udp  --  any    any     anywhere             anywhere             udp dpt:domain

В этом случае я просто ищу базовые DNS, HTTP и HTTPS. Что не так?

решение1

sudo iptables --policy INPUT DROP

По умолчанию это отбрасывает весь входящий трафик. У вас нет правила, которое делает исключения из этой политики, т.е. у вас есть только правила OUTPUT, которые разрешают исходящий трафик. Обычно есть по крайней мере правило, разрешающее входные совпадающие соединения, которые были установлены изнутри, например:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Связанный контент