Мне нужно разрешить доступ к порту 11211 с определенного IP-адреса на существующие правила (в сценарии, который запускается после загрузки сервера)
Строка, которую я хочу добавить:
iptables -A INPUT -p tcp -s xx.xx.xx.xx --dport 11211 -j ACCEPT
Но iptables уже содержит строку для этого порта, поэтому моя строка будет добавлена после и никогда не будет работать. Линия падения:
DROP tcp -- anywhere anywhere tcp dpt:11211
Как мне это сделать?
Вы ищете "INSERT" вместо "APPEND". AFAIR вы можете использовать
iptables -I INPUT <slot> -p tcp -s xx.xx.xx.xx --dport 11211 -j ACCEPT
Вставить правило в нужный слот цепочки. Чтобы найти правильный номер слота, используйте iptables -nL
Затем начните считать правила, начиная с 1.
Я думаю, вы также можете опустить слот, чтобы iptables вставлял новое правило в первый слот (сверху).
Использовать iptables -I INPUT -p tcp -s xx.xx.xx.xx --dport 11211 -j ACCEPT
это вставит правило в начало цепочки INPUT и будет обрабатываться перед существующим правилом DROP. Iptables работает сверху вниз, и первое правило соответствия выигрывает. Не забудьте сохранить конфигурацию iptables, когда убедитесь, что она работает правильно.
-А - значит аппент. используйте -R для замены и -I для вставки в цепочку.