Моя мережа повністю заблокована, за винятком кількох сайтів, які містяться у списках. Все це робиться через iptables, який виглядає приблизно так:
# Allow traffic to google.com
iptables -A zone_lan_forward -p tcp -d 1.2.3.0/24 -j ACCEPT
iptables -A zone_lan_forward -p udp -d 1.2.3.0/24 -j ACCEPT
iptables -A zone_lan_forward -p tcp -d 11.12.13.0/24 -j ACCEPT
iptables -A zone_lan_forward -p udp -d 11.12.13.0/24 -j ACCEPT
iptables -A zone_lan_forward -p tcp -d 101.102.103.0/24 -j ACCEPT
iptables -A zone_lan_forward -p udp -d 101.102.103.0/24 -j ACCEPT
...
Очевидно, ці адреси гіпотетичні, але ви розумієте. Мій брандмауер стає величезним. Було б набагато простіше в обслуговуванні, якби я міг просто так:
# Allow traffic to google.com
iptables -A zone_lan_forward -p tcp -d google.com -j ACCEPT
iptables -A zone_lan_forward -p udp -d google.com -j ACCEPT
Я вважаю, що це можливо, оскільки man iptables
говорить:
Адреса може бути як мережевим іменем, ім'ям хоста (зауважте, що вказати будь-яке ім'я, яке слід вирішити за допомогою віддаленого запиту, наприклад, DNS - це дійсно погана ідея), мережеву IP-адресу (з / маскою) або звичайну IP-адресу.
Але мене турбує частина, в якій сказано: "Вказання будь-якого імені, яке слід вирішити за допомогою ... DNS - це дійсно погана ідея". Чому це погана ідея? Це просто сповільнює все?
Якщо я дійсно не повинен використовувати імена хостів у правилах iptables, то що мені робити для спрощення брандмауера?