Как я могу позволить соединения только от определенных имен хостов (дюйм/с может измениться из-за динамического DNS)?

Я хочу позволить соединения только от определенных имен хостов вместо определенным IP (имена хостов определяются динамическим DNS).

Например, home.no-ip.org, mobile.no-ip.org, и т.д.

Этот возможный out-of-the-box с чем-то как или ? В противном случае, на что решение могло бы быть похожим - некоторый сценарий должен сделать nslookup на имени хоста каждый X часто, затем отбросить и добавить правила брандмауэра?

0
задан 19 July 2017 в 05:15

1 ответ

Можно сделать это с IP таблицами.

Набор команд будет чем-то вроде этого

очистите существующие цепочки

sudo iptables --flush
sudo iptables --delete-chain

позвольте обратную петлю

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

позвольте весь ICMP

sudo iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
sudo iptables -A OUTPUT -p icmp -j ACCEPT

позвольте установленные соединения

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

доступ от home.no-ip.org и порт 80

sudo iptables -A INPUT -p tcp --dport 80 -m string --string "Host: home.something.com" --algo bm -j ACCEPT

затем правило для всего входящего трафика от mobile.no-ip.org

sudo iptables -A INPUT -m state --state NEW -s mobile.no-ip.org -j ACCEPT

позвольте SSH для любого

sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

отклоните все принимают выше правил

sudo iptables -A INPUT -j DROP

политики по умолчанию

sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT

сохранить

sudo service iptables save

Я не уверен, что это будет работать, но можно попробовать :) Это - только пример правил и может использовать их как шаблон.

1
ответ дан 2 November 2019 в 21:50

Другие вопросы по тегам:

Похожие вопросы: