VDSPlanet.ru Making the difference in VDS Hosting
IPTables

Материал из Wiki.VDSPlanet.ru.

Перейти к: навигация, поиск

Зашита вашего сервера с помошью iptables это очень хорошая идея.

Внесите данную команду в свою консоль, не включайте строки начинаюшиеся на ##:

# Allow SSH first of all (if not redirected, see below)!
# Первым делом - разрешить SSH (если на стандартном порту)!
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
##Разрешить HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
##Разрешить HTTP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
##Разрешить IMAP
iptables -A INPUT - tcp --dport 143 -j ACCEPT
##Разрешить SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
##Разрешить POP3
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
##Разрешить SSH Port 2200 'Только пример, но это всегда хорошая идея тчобы поменять ssh порт с 22 на что то иное'
iptables -A INPUT -p tcp --dport 2200 -j ACCEPT
##Разрешить FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
##Логируем дествия перед DROP
iptables -A INPUT -j LOG --log-prefix "IP Tables: " --log-level 7
##Сбросить все соединения которые не входят в правила записанные выше.
iptables -A INPUT -j DROP

Если надо добавить еще некторые правила и порты. используйте след. пример:

iptables -A INPUT -p tcp --dport nn -j ACCEPT

nn - порт который вы хотите разрешить.

[править] Если всё сломалось (вы отфильтровали тот порт, с которым работали)

  1. идём в Биллинг панель
  2. и создаем запрос в поддержку, чтобы ваш vds разблокировали.

[править] Далее - от root'а вашей виртуальной машины выполняем:

# iptables -F ; iptables -L

Если default policy у вас являтся ACCEPT, то теперь ваша виртуальная машина "открыта". Если же нет...

# iptables -P FORWARD ACCEPT; iptables -F FORWARD
# iptables -P INPUT ACCEPT;   iptables -F INPUT
# iptables -P OUTPUT ACCEPT;  iptables -F OUTPUT

По идее, теперь вы должны быть в состоянии войти в свою виртуальную машину обычным способом (ssh). Если же и этого не хватило, то вот ещё несколько заклинаний:

# iptables -t nat -P PREROUTING ACCEPT;  iptables -t nat -F PREROUTING
# iptables -t nat -P POSTROUTING ACCEPT; iptables -t nat -F POSTROUTING
# iptables -t nat -P OUTPUT ACCEPT;      iptables -t nat -F OUTPUT


"Безопасным" является такой вот вид результата команды iptables -L:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Здесь - всё открыто.

Источник — «http://wiki.vdsplanet.ru/IPTables»