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

Два момента здесь

hplip-gui хорошо упакованы в 17.10 - вы получите 3.17.7, вы можете установить эту версию с помощью:
sudo apt-get install hplip-gui
Если вам нужно скомпилировать этот пакет, вы должны сделать следующее: включить репозитории исходного кода в software-properties-gtk, затем получить зависимости сборки
sudo apt-get build-dep hplip-gui
, а затем запустить ./configure, make и так далее.
1
задан 5 February 2012 в 18:11

3 ответа

Встроенный брандмауэр 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

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

#!/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

Затем я создал простой скрипт для запуска / остановки брандмауэра в /etc/init.d/firewall: [ ! d11]

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

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

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

[d6 ] help.ubuntu.com

Надеюсь, что эта помощь:)

3
ответ дан 25 May 2018 в 14:33
  • 1
    wow .. я не ожидал, что такая конфигурация настолько быстрая, спасибо много, +1, 1-й я попробую на виртуальной машине и дам вам знать ... я впечатлен ... – One Zero 5 February 2012 в 18:16

Встроенный брандмауэр 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

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

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

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

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

Источник

Надеюсь, что эта помощь:)

3
ответ дан 7 August 2018 в 19:45

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

0
ответ дан 25 May 2018 в 14:33

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

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