Если ставите политику DROP и на OUTPUT, то нужно в неё добавить симметричные разрешающие правила. Например, если у вас есть правило
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
, то нужно будет и правило
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
. Но обычной практикой является то, что OUTPUT оставляют пустым с политикой ACCEPT.
Так же обычно добавляют правило типа
iptables -A INPUT -i lo -j ACCEPT
для того, чтобы разрешить коммуникации между процессами на самом хосте, и правило
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
для того, чтобы разрешить ответные пакеты.
iptables-save не сохраняет изменения, а только выводит текущий набор правил на стандартный вывод. То, где хранятся настройки iptables зависит от дистрибутива Linux. Например, в Debian-подобных дистрибутивах лучше поставить пакеты netfilter-persistent и iptables-persistent, чтобы можно было загружать настройки файерволла при загрузке.
В общем, iptables и настройка файерволла требуют хороших знаний по сетям и протоколам, и с наскока их не получится освоить, а только прочитав документацию (благо, есть неплохой перевод iptables tutorial на opennet.ru).