Я изучил эту специфику с помощью тестовой системы.
Мне удалось правильно настроить iptables
с помощью следующего набора правил и заставить apt-get
правильно выходить за границу:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW,RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 state NEW,RELATED,ESTABLISHED
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 state NEW,RELATED,ESTABLISHED
Это отражает вашу последнюю конфигурацию, указанную выше. Я могу заставить apt-get
работать правильно, а также без проблем выполнять DNS-запросы.
Однако важно отметить, что в вашей системе возникают проблемы с преобразованием имен хостов в IP-адреса, что приводит к ошибкам разрешения.
Убедитесь, что ваш /etc/resolv.conf
настроен правильно и содержит как минимум что-то вроде этого:
nameserver 8.8.8.8
nameserver 8.8.4.4
С /etc/resolv.conf
настроенным таким образом, с теми же iptables
наборами правил, которые у вас есть, я могу без проблем связаться и получить правильное разрешение DNS в моих системах, обращенных к Интернету -, и внутри мои собственные подсети LAN, которые могут выходить в Интернет изнутри сети.
Мне кажется, что ваш /etc/resolv.conf
настроен неправильно, и неправильная конфигурация приводит к тому, что ваша система не может правильно настроить DNS.