Я использую центральный хост системного журнала. Каждая граничная система отправляет *.debug в центральный loghost. Центральный хост системного журнала выполняет системный-журнал-ng и имеет правила разделить журналы так, чтобы каждая машина генерировала свои собственные файлы, названные по имени в течение того дня. Это также выводит все в единственный файл, против которого я выполняю потомка logcheck.sh.
Один раз в день я выполняю компактор журнала, который архивирует любые журналы, более старые, чем 7 дней, и удаляет что-либо более старое, чем 28 дней. Между этими двумя это дает журналам ожидаемую жизнь 35 дней на сервере, что означает, что все журналы должны добраться до ежемесячных резервных копий, где они могут быть восстановлены в течение максимум двух лет.
Это интенсивно устройством хранения данных, но, кажется, лучший способ гарантировать покрытие.
Я не знаю о "Ubuntu", но в Linux обычно, "iptables" не является сервисом - это - команда для управления netfilter брандмауэром ядра. Можно "отключить" (или остановка) брандмауэр путем установки политик по умолчанию в отношении всех стандартных цепочек для "ПРИНЯТИЯ" и сбрасывания правил.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
(Вы, возможно, должны сбросить другие таблицы также такой как "туземные" при использовании их),
Следующая статья о веб-сайте Ubuntu описывает установку iptables для использования с NetworkManager: https://help.ubuntu.com/community/IptablesHowTo
Я сначала проверил бы, установлено ли это с (это, вероятно):
dpkg -l | grep iptables
На Ubuntu iptables не является сервисом. Для остановки его необходимо сделать следующее:
sudo iptables-save > /root/firewall.rules
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Для восстановления предыдущих правил:
iptables-restore < /root/firewall.rules
Это было взято из http://www.cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux/ и было протестировано на многих установках Ubuntu 8. X и 9.10.
Похож там на несколько способов управлять брандмауэром в Ubuntu, таким образом, можно интересоваться чтением этого: https://help.ubuntu.com/community/IptablesHowTo#Configuration%20on%20startup
Для отбрасывания всех текущих правил, можно использовать эти команды (поместите их в некоторый сценарий):
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -F
iptables -t filter -X
В обычном случае, Ваши правила брандмауэра по умолчанию, сохраненные в некотором файле (например,/etc/iptables.rules). При начальной загрузке системной команды iptables-restore </etc/iptables.rules
выполняемый для загрузки правил брандмауэра. Так, выполнение той же команды после отбрасывания всего использования правил выше команд, приведет к "перезагрузке брандмауэра", который Вы попросили.
Если я вспоминаю правильно, что предложенный способ настроить iptables в руководствах человечности состоит в том, чтобы настроить его как часть сетевых сценариев. что означает, что нет никакого/etc/init.d/iptables сценария, любят существует в стиле BSD ОС.
Создать файл в /etc/init.d/
touch fw.rc
Сделать файл исполняемым chmod + x
Сделать символическую ссылку на этот файл в /etc/rc2.d/
ln -s /etc/init.d/fw.rc S80firewall
Отредактируйте S80firewall и добавьте следующее
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F
Вы можете добавить все свои собственные правила iptables в этот файл
Теперь вы можете перезапустить межсетевой экран (iptables), запустив /etc/rc2.d/S80firewall (должен быть root)
Iptables - это команда, это не служба, поэтому обычно невозможно использовать такие команды, как
service iptables start
или
service iptables stop
, для запуска и остановки брандмауэра, но некоторые дистрибутивы, такие как centos, имеют установил службу iptables для запуска и остановки брандмауэра и файл конфигурации для его настройки. В любом случае можно создать сервис для управления редактированием ipotables или установкой скрипта для этой области. Все сервисы в linux, ubuntu не исключение, представляют собой исполняемые скрипты внутри папки /etc/init.d, реализующие стандартный интерфейс (запуск, остановка, перезапуск) Возможный сценарий выглядит следующим образом:
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: iptables
# Required-Start: mountvirtfs ifupdown $local_fs
# Default-Start: S
# Default-Stop: 0 6
### END INIT INFO
# July 9, 2007
# James B. Crocker <ubuntu@james.crocker.name>
# Creative Commons Attribution - Share Alike 3.0 License (BY,SA)
# Script to load/unload/save iptables firewall settings.
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
IPTABLES=/sbin/iptables
IPTABLES_SAVE=/sbin/iptables-save
IPTABLES_RESTORE=/sbin/iptables-restore
IPTABLES_CONFIG=/etc/iptables.conf
[ -x $IPTABLES ] || exit 0
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Starting firewall"
type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 120" || true
if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 15" || true
;;
stop)
log_action_begin_msg "Saving current firewall configuration"
if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
log_action_begin_msg "Flushing ALL firewall rules from chains!"
if $IPTABLES -F ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
log_action_begin_msg "Deleting ALL firewall chains [Warning: ACCEPTING ALL PORT SERVICES!]"
if $IPTABLES -X ; then
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
save)
log_action_begin_msg "Saving current firewall configuration"
if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
force-reload|restart)
log_action_begin_msg "Reloading firewall configuration [Warning: POTENTIAL NETWORK INSECURITY DURING RELOAD]"
$IPTABLES -F
$IPTABLES -X
if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
*)
echo "Usage: /etc/init.d/iptables {start|stop|save|restart|force-reload}"
exit 1
;;
esac
exit 0
Этот сценарий является частью этого учебного пособия , все команды для настройки брандмауэра должны быть вставлены в соответствии с приведенным выше сценарием в файл /etc/iptables.conf. Этот сценарий необходимо вставить в файл с именем iptables в /etc/init.d и сделать его исполняемым с помощью
chmod+x *iptables*
и добавить службу на уровни выполнения с помощью
update-rc.d iptables defaults
. Вы можете добавить новые правила из оболочки, эти правила будут немедленно активны и будут добавлены в /etc/iptables.conf при остановке службы (это означает, что они будут обязательно сохранены при завершении работы системы).
Надеюсь, это будет полезно для всех.
Поскольку и iptables, и ufw являются способами управления брандмауэром netfilter в Linux, и поскольку оба они доступны по умолчанию в Ubuntu, вы можете использовать их для запуска и остановки (и управления) правил брандмауэра.
iptables более гибкий, но поскольку ufw предоставляет очень простой язык интерфейса для простых и типичных функций, вы можете использовать:
sudo ufw disable
# Чтобы отключить межсетевой экран
sudo ufw enable
# Чтобы включить брандмауэр
Для просмотра текущих настроек брандмауэра используйте sudo ufw status verbose
или iptables -L
.
Страницы документации сообщества Ubuntu на iptables и UFW содержат гораздо больше информации.
sudo ufw disable
# Чтобы отключить брандмауэр
sudo ufw enable
# Чтобы включить брандмауэр
Чтобы увидеть текущие настройки брандмауэра, используйте sudo ufw status verbose
или iptables -L
.
Страницы документации сообщества Ubuntu по iptables и UFW содержат гораздо больше информации.
sudo ufw disable
# Чтобы отключить межсетевой экран
sudo ufw enable
# Чтобы включить межсетевой экран
Чтобы увидеть текущие настройки межсетевого экрана, используйте sudo ufw status verbose
, или iptables -L
.
Страницы документации сообщества Ubuntu на iptables и UFW содержат гораздо больше информации.
Вы используете команду, подходящую для RedHat и CentOS, а не для Ubuntu или Debian.
http://www.cyberciti.biz/faq/ubuntu-server-disable-firewall/
У меня была такая же проблема.
На самом деле, в /etc/init.d
не было iptables-persistent. Итак, я создал файл iptables-persistent в /etc/init.d
nano /etc/init.d/iptables-persistent
и написал внутри следующее:
#!/bin/sh
# Written by Simon Richter <sjr@debian.org>
# modified by Jonathan Wiltshire <jmw@debian.org>
# with help from Christoph Anton Mitterer
#
### BEGIN INIT INFO
# Provides: iptables-persistent
# Required-Start: mountkernfs $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Start-Before: $network
# X-Stop-After: $network
# Short-Description: Set up iptables rules
# Description: Loads/saves current iptables rules from/to /etc/iptables
# to provide a persistent rule set during boot time
### END INIT INFO
. /lib/lsb/init-functions
rc=0
load_rules()
{
log_action_begin_msg "Loading iptables rules"
#load IPv4 rules
if [ ! -f /etc/iptables/rules.v4 ]; then
log_action_cont_msg " skipping IPv4 (no rules to load)"
else
log_action_cont_msg " IPv4"
iptables-restore < /etc/iptables/rules.v4 2> /dev/null
if [ $? -ne 0 ]; then
rc=1
fi
fi
#load IPv6 rules
if [ ! -f /etc/iptables/rules.v6 ]; then
log_action_cont_msg " skipping IPv6 (no rules to load)"
else
log_action_cont_msg " IPv6"
ip6tables-restore < /etc/iptables/rules.v6 2> /dev/null
if [ $? -ne 0 ]; then
rc=1
fi
fi
log_action_end_msg $rc
}
save_rules()
{
log_action_begin_msg "Saving rules"
#save IPv4 rules
#need at least iptable_filter loaded:
/sbin/modprobe -q iptable_filter
if [ ! -f /proc/net/ip_tables_names ]; then
log_action_cont_msg " skipping IPv4 (no modules loaded)"
elif [ -x /sbin/iptables-save ]; then
log_action_cont_msg " IPv4"
iptables-save > /etc/iptables/rules.v4
if [ $? -ne 0 ]; then
rc=1
fi
fi
#save IPv6 rules
#need at least ip6table_filter loaded:
/sbin/modprobe -q ip6table_filter
if [ ! -f /proc/net/ip6_tables_names ]; then
log_action_cont_msg " skipping IPv6 (no modules loaded)"
elif [ -x /sbin/ip6tables-save ]; then
log_action_cont_msg " IPv6"
ip6tables-save > /etc/iptables/rules.v6
if [ $? -ne 0 ]; then
rc=1
fi
fi
log_action_end_msg $rc
}
flush_rules()
{
log_action_begin_msg "Flushing rules"
if [ ! -f /proc/net/ip_tables_names ]; then
log_action_cont_msg " skipping IPv4 (no module loaded)"
elif [ -x /sbin/iptables ]; then
log_action_cont_msg " IPv4"
for param in F Z X; do /sbin/iptables -$param; done
for table in $(cat /proc/net/ip_tables_names)
do
/sbin/iptables -t $table -F
/sbin/iptables -t $table -Z
/sbin/iptables -t $table -X
done
for chain in INPUT FORWARD OUTPUT
do
/sbin/iptables -P $chain ACCEPT
done
fi
if [ ! -f /proc/net/ip6_tables_names ]; then
log_action_cont_msg " skipping IPv6 (no module loaded)"
elif [ -x /sbin/ip6tables ]; then
log_action_cont_msg " IPv6"
for param in F Z X; do /sbin/ip6tables -$param; done
for table in $(cat /proc/net/ip6_tables_names)
do
/sbin/ip6tables -t $table -F
/sbin/ip6tables -t $table -Z
/sbin/ip6tables -t $table -X
done
for chain in INPUT FORWARD OUTPUT
do
/sbin/ip6tables -P $chain ACCEPT
done
fi
log_action_end_msg 0
}
case "$1" in
start|restart|reload|force-reload)
load_rules
;;
save)
save_rules
;;
stop)
# Why? because if stop is used, the firewall gets flushed for a variable
# amount of time during package upgrades, leaving the machine vulnerable
# It's also not always desirable to flush during purge
echo "Automatic flushing disabled, use \"flush\" instead of \"stop\""
;;
flush)
flush_rules
;;
*)
echo "Usage: $0 {start|restart|reload|force-reload|save|flush}" >&2
exit 1
;;
esac
exit $rc
, а затем дал разрешение chmod 755.
chmod 755 /etc/init.d/iptables-persistent
Теперь он работает отлично! Надеюсь, это кому-то поможет.
Если вы используете сервер Ubuntu как гостевую виртуальную машину (например, в VirtualBox), то libvirt может быть включен. Если это так, libvirt содержит несколько встроенных сетевых фильтров, использующих iptables. Эти фильтры можно настроить, как описано в разделе брандмауэра на nwfilters .
Чтобы отключить правила iptables, вам нужно либо удалить все нарушающие правила из libvirt, либо вы можете просто отключить libvirt, если вы: вы не используете его - например установите конфигурацию ручного переопределения (затем перезагрузите):
sudo bash -c 'echo "manual" > /etc/init/libvirt-bin.override'
По умолчанию их нет, но в последних производных debian (включая Ubuntu) вы можете установить сервис для управления iptables: Затем вы можете загрузить ранее сохранённые правила:
systemctl start netfilter-persistent
Просмотреть, что произошло:
systemctl status netfilter-persistent
netfilter-persistent.service - netfilter persistent configuration
Loaded: loaded (/lib/systemd/system/netfilter-persistent.service; enabled; vendor preset: enabled)
Active: active (exited) since Sun 2019-03-24 10:49:50 IST; 16min ago
Main PID: 1674 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
CGroup: /system.slice/netfilter-persistent.service
Mar 24 10:49:50 ubuntu systemd[1]: Starting netfilter persistent configuration...
Mar 24 10:49:50 ubuntu netfilter-persistent[1674]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start
Mar 24 10:49:50 ubuntu netfilter-persistent[1674]: Warning: skipping IPv4 (no rules to load)
Mar 24 10:49:50 ubuntu netfilter-persistent[1674]: run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start
Mar 24 10:49:50 ubuntu netfilter-persistent[1674]: Warning: skipping IPv6 (no rules to load)
Mar 24 10:49:50 ubuntu systemd[1]: Started netfilter persistent configuration.
Mar 24 11:02:49 ubuntu systemd[1]: Started netfilter persistent configuration.
Или остановить службу:
systemctl stop netfilter-persistent
Остановка службы будет, по умолчанию, а не прошивать iptables (i. e. не отключает брандмауэр, см. man netfilter-persistent
).