==================================================================================== === Разрешить обмен пакетами только с одним IP: === ==================================================================================== # iptables -A INPUT -s 1.2.3.4 -j ACCEPT iptables -A OUTPUT -d 1.2.3.4 -j ACCEPT iptables -P INPUT DROP iptables -P OUTPUT DROP ==================================================================================== === Заблокировать IP: === ==================================================================================== # iptables -A INPUT -s 1.2.3.4 -j DROP ==================================================================================== === Запретить подключение извне на порт 25: === ==================================================================================== # iptables -A INPUT -p tcp --dport 25 -j DROP ==================================================================================== === Заблокировать входящие подключения: === ==================================================================================== # iptables -A INPUT -j DROP ==================================================================================== === Разрешить доступ к серверу по нескольким портам: === ==================================================================================== # iptables -A INPUT -p tcp -m multiport --dports 20,21 -j ACCEPT ==================================================================================== === Просмотреть список правил iptables: === ==================================================================================== # iptables -L -v -n --line-numbers ==================================================================================== === Удалить правило из iptables: === ==================================================================================== # iptables -D INPUT $STRING_NUMBER ==================================================================================== === Разрешить удаленные подключения к порту определенному IP: === ==================================================================================== # iptables -A INPUT -i eth0 -s 1.2.3.4 -p tcp --destination-port 3306 -j ACCEPT iptables -A INPUT -i eth0 -s 127.0.0.1 -p tcp --destination-port 3306 -j ACCEPT iptables -A INPUT -p tcp --dport 3306 -j DROP ==================================================================================== === Разрешить доступ к одному порту с одного IP: === ==================================================================================== # iptables -I INPUT -p tcp -s 1.2.3.4/32 --dport 3306 -j ACCEPT ==================================================================================== === Разрешить ICMP: === ==================================================================================== # iptables -A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ==================================================================================== === Разрешить установкку обновлений: === ==================================================================================== # iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT ==================================================================================== === Сохранить правила iptables после перезагрузки: === ==================================================================================== # apt-get install iptables-persistent ==================================================================================== === Разрешить обмен данными на локалхосте: === ==================================================================================== # iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT ==================================================================================== === Разрешить входящие established и related: === ==================================================================================== # iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT ==================================================================================== === Разрешить исходящие established: === ==================================================================================== # iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT ==================================================================================== === Логировать подключения: === ==================================================================================== # iptables -A INPUT -s 1.2.3.4 -j LOG --log-prefix "test_prefix: " ==================================================================================== === Что добавляю в .bashrc: === ==================================================================================== # alias iptlist='iptables -L -n -v --line-numbers' alias iptsave="iptables-save > /etc/iptables/rules.v4" ==================================================================================== === Добавить правило в конкретное место: === ==================================================================================== # iptables -I INPUT $STRING_NUMBER -p tcp --dport 20 -j ACCEPT ==================================================================================== === Дефолтный набор правил: ==================================================================================== # # For specifying ports iptables -A INPUT -p tcp --dport 22 -s 1.2.3.4 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT # For icmp iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT # For apt-get iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT iptables -A INPUT -j DROP ==================================================================================== === Смена новых файерволлов на ip6tables: ==================================================================================== # update-alternatives --set iptables /usr/sbin/iptables-legacy update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy