Как я могу использовать Ubuntu в качестве сервера брандмауэра

Можно ли Ubuntu настроить в качестве сервера брандмауэра, если да как? , если нет почему?

1
задан 5 February 2012 в 16:11

2 ответа

Встроенный Брандмауэр Ubuntu называют Iptable. По умолчанию iptable позволяет весь трафик. Так, необходимо настроить на основе потребностей :)

Вот основные команды на Iptable

Ввод

sudo iptables -L

перечисляет Ваши текущие правила в iptables. Если Вы только что настроили свой сервер, у Вас не будет правил, и необходимо видеть

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

Посмотрите целое как к на help.ubuntu.com

Простой iptables сценарий

#!/bin/bash
# flush all chains
iptables -F
# set the default policy for each of the pre-defined chains
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# allow establishment of connections initialised by my outgoing packets
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# drop everything else
iptables -A INPUT -i eth+ -p udp -j DROP
iptables -A INPUT -i eth+ -p tcp -m tcp --syn -j DROP
# accept anything on localhost
iptables -A INPUT -i lo -j ACCEPT

У меня есть сетевые интерфейсы на eth0 и eth1, таким образом, этот сценарий имеет правила, которые касаются обоих; если Ваши интерфейсы будут иметь различные имена, то необходимо будет отредактировать правила покрыть это. Это отбрасывает все поступление, за исключением соединений, которые были первоначально установлены моими исходящими пакетами (благодарит Luke! - см. комментарии); что означает, что это бесполезно для серверов.

Я поместил этот сценарий в/opt/scripts/iptables.script и сделал его исполняемым файлом. После того как Вы выполняете его, можно узнать, работало ли это путем отображения текущих правил iptables с:

sudo iptables -L -v

Я затем создал простой init сценарий для запущения/останавливания брандмауэра в /etc/init.d/firewall:

#!/bin/bash
if [[ $1 == start ]] ; then
  sudo /opt/scripts/iptables.script
else
  sudo iptables -F
fi

Затем я symlinked это в мой /etc/rc.* подходят каталоги с помощью инструмента обновления-rc.d, таким образом, брандмауэр запускается перед сетью:

update-rc.d firewall start 20 2 3 4 5 . stop 99 0 1 6 .

Источник

Надеюсь эта справка :)

3
ответ дан 5 February 2012 в 16:11

Я предпочитаю ufw HELP , это обертка вокруг iptables, и ее легче настроить.

0
ответ дан 5 February 2012 в 16:11

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

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