Я безуспешно пытаюсь перенаправить только Gmail для внутренней сети с использованием политики перенаправления. Этот компьютер работает как маршрутизатор / брандмауэр для внутренней сети. Я не могу перейти в Google или Gmail. Поиск DNS работает, и я могу успешно выполнить поиск DNS из внутренней сети.
Моя политика iptables
INPUT ACCEPT
OUTPUT ACCEPT
FORWARD DROP
Правила
FORWARD -m string --string "google" --algo bm --to 6745 -j ACCEPT
FORWARD -m string --string "gstatic" --algo bm --to 6745 -j ACCEPT
FORWARD -m string --string "googleusercontent" --algo bm --to 6745 -j ACCEPT
FORWARD -p tcp -m tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
#DNS Lookup and ICMP
FORWARD -p udp -m udp --dport 53 -j ACCEPT
FORWARD -p udp -m udp --sport 53 -j ACCEPT
FORWARD -p icmp -j ACCEPT
Любая помощь приветствуется.
Примечание: я просто публикую правила и политики, а не используемые реальные команды iptable.
Вы не можете использовать такое совпадение строк. В основном ваши SYN-пакеты будут заблокированы, поскольку в них нет строки google и, следовательно, они не могут быть сопоставлены с помощью сопоставителя строк. Вы можете запустить tcpdump в интернет-интерфейсе, и вы не увидите, что из него не выходит ни один SYN-пакет. Другая проблема заключается в том, что Google иногда меняет IP-адреса и использование IP-адресов тоже не является изящным решением. Если вам нужна фильтрация по URL, Squid может быть вариантом.