Я хочу разрешить gmail (и только gmail или другим свойствам Google, а не другим IP-адресам) доступ к моему серверу pop3.
Есть ли способ настроить iptables, чтобы разрешить все IP-адреса, контролируемые Google, через мой брандмауэр?
У вас должен быть список IP-адресов, принадлежащих Google. Этот список со временем будет меняться, поэтому вам нужно будет его поддерживать, но процесс получения списка, по крайней мере, достаточно ясен.
https://support.google.com/a/answer/60764?hl=en дает процесс, и вы можете перевести это в однострочник, например:
dig +short TXT @8.8.8.8 _spf.google.com | perl -ne 'print join "\n",m/'nclude:([^ ]*)/g' | xargs -n 1 dig +short TXT @8.8.8.8 | perl -ne 'print join "\n", m/ip[46]:([^ ]*)/g'
Теперь вам нужно немного больше повозиться, чтобы превратить это в правила брандмауэра, и у вас будет что-то, что вы можете запустить из cron для поддержки вашего брандмауэра, поскольку IP-адреса Google иногда меняются. Однако есть место для небольших вариаций в том, как это сделать. Вы напрямую управляете iptables или используете более удобный инструмент настройки брандмауэра? (например, я в основном использую ferm
).