Yanıtlar:
"Ubuntu" hakkında bir şey bilmiyorum ama genel olarak Linux'ta "iptables" bir hizmet değil - netfilter çekirdek güvenlik duvarını değiştirmek için kullanılan bir komut. Tüm standart zincirlerdeki varsayılan politikaları "KABUL" olarak ayarlayarak ve kuralları temizleyerek güvenlik duvarını "devre dışı bırakabilir" (veya durdurabilirsiniz).
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
(Kullandıysanız, "nat" gibi diğer tabloları da silmeniz gerekebilir)
Ubuntu web sitesinde yer alan aşağıdaki makale, NetworkManager ile kullanmak için iptables ayarını açıklamaktadır: https://help.ubuntu.com/community/IptablesHowTo
iptables -F
kaçırdığım şeydi :-)
iptables-save > /tmp/rules
kurtardı. Teşekkürler
Hepiniz yanlışsınız :-)
Aradığınız komut şudur:
$ sudo ufw disable
Önce yüklü olup olmadığını kontrol ediyorum (muhtemelen öyle):
dpkg -l | grep iptables
Ubuntu'da iptables bir servis değildir. Durdurmak için aşağıdakileri yapmanız gerekir:
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
Önceki kurallarınızı geri yüklemek için:
iptables-restore < /root/firewall.rules
Bu, http://www.cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux/ adresinden alınmış ve birçok Ubuntu 8.X & 9.10 kurulumunda test edilmiştir.
Iptables bir hizmet değil bir komuttur, bu nedenle genellikle gibi komutları kullanmak mümkün değildir.
service iptables start
veya
service iptables stop
güvenlik duvarını başlatmak ve durdurmak için, ancak centos gibi bazı dağıtımlar, güvenlik duvarını başlatmak ve durdurmak için iptables adında bir hizmeti ve yapılandırmak için bir yapılandırma dosyasını yüklediler. Yine de, bu kapsam için bir betik düzenleme veya komut dosyası yükleme ipotables'ı yönetmek için bir servis yapmak mümkündür. Linux, ubuntu'daki tüm hizmetler bir istisna değildir, /etc/init.d klasörü içinde çalıştırılabilir komut dosyalarıdır, standart bir arayüz uygular (başlat, durdur, yeniden başlat) Olası bir komut dosyası şöyle görünür:
#!/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
Bu komut dosyası bu eğitimin bir parçasıdır , güvenlik duvarını yapılandırmak için kullanılan tüm komutların yukarıdaki komut dosyasına göre /etc/iptables.conf dosyasına eklenmesi gerekir. Bu betiğin /etc/init.d içindeki iptables adlı bir dosyaya eklenmesi ve çalıştırılabilir hale getirilmesi gerekir.
chmod+x *iptables*
ve servisi kullanarak çalışma seviyelerine ekleyin.
update-rc.d iptables defaults
Kabuktan yeni kurallar ekleyebilirsiniz, bu kurallar derhal aktif olacaktır ve servis durduğunda /etc/iptables.conf dosyasına eklenecektir (servis kapatıldığında kesin olarak kaydedileceği anlamına gelir).
Umarım bu herkese yardımcı olur.
Her iki iptables ve UFW yönetmek için yollar nedeniyle netfilter Linux güvenlik duvarı ve her iki Ubuntu varsayılan olarak bulunan, çünkü güvenlik duvarı kuralları kullanabilirsiniz ya başlatmak ve durdurmak için (ve yönetme).
iptables daha esnektir, ancak ufw kullanabileceğiniz basit ve tipik işlevler için çok basit bir arabirim dili sağladığından:
sudo ufw disable
# Güvenlik duvarını devre dışı bırakmak için
sudo ufw enable
# Güvenlik duvarını etkinleştirmek için
Geçerli güvenlik duvarı ayarlarını görmek için sudo ufw status verbose
, veya tuşlarını kullanın iptables -L
.
Ubuntu Topluluk docs sayfaları iptables ve UFW çok daha fazla bilgi var.
Ubuntu'da güvenlik duvarını yönetmenin birkaç yolu var gibi gözüküyor, bu yüzden bunu okumak isteyebilirsiniz: https://help.ubuntu.com/community/IptablesHowTo#Configuration%20on%20startup
Tüm geçerli kuralları bırakmak için bu komutları kullanabilirsiniz (bazı komut dosyalarına koyun):
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
Her zamanki gibi, varsayılan güvenlik duvarı kurallarınız bazı dosyalara kaydedilmiştir (örneğin, /etc/iptables.rules). Sistem komutu önyüklenirken iptables-restore </etc/iptables.rules
güvenlik duvarı kurallarını yüklemek için yürütülür. Bu nedenle, yukarıdaki komutları kullanarak tüm kuralları bıraktıktan sonra aynı komutu çalıştırmak, istediğiniz “güvenlik duvarını yeniden yüklemek” ile sonuçlanacaktır.
Doğru hatırlıyorsam ubuntu kılavuzlarında iptables kurmanın önerilen yolu ağ komut dosyalarının bir parçası olarak ayarlamaktır. bu, BSD tarzı işletim sistemlerinde olduğu gibi /etc/init.d/iptables betiğinin olmadığı anlamına gelir.
/Etc/init.d/ adresinde bir dosya oluşturun.
touch fw.rc
Dosyayı çalıştırılabilir hale getir chmod + x
/Etc/rc2.d/ adresindeki dosyaya bir link verin
ln -s /etc/init.d/fw.rc S80firewall
S80firewall’u düzenleyin ve aşağıdakileri ekleyin
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F
Tüm özel iptables kurallarınızı bu dosyaya ekleyebilirsiniz.
Şimdi /etc/rc2.d/S80firewall (root olmalı) komutunu çalıştırarak güvenlik duvarını (iptables) yeniden başlatabilirsiniz.
Ben de aynı sorunu yaşadım. Aslında, içinde iptables-persistan yoktu/etc/init.d
Böylece, iptables-persistent dosyasını içinde oluşturdum. /etc/init.d
nano /etc/init.d/iptables-persistent
ve içine şunu yazdı:
#!/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
ve sonra chmod 755'e izin verdi.
chmod 755 /etc/init.d/iptables-persistent
Şimdi mükemmel çalışıyor! Umarım birine yardım edebilir.
Ubuntu sunucusunu VM konukları olarak kullanıyorsanız (örn. VirtualBox'da), libvirt etkinleştirilebilir. Öyleyse, libvirt iptables kullanan bazı dahili ağ filtreleri içerir. Bu filtreler, nwfilters'ın güvenlik duvarı bölümünde açıklandığı şekilde yapılandırılabilir .
İptables kurallarını devre dışı bırakmak için, tüm rahatsız edici kuralları libvirt'ten silmeniz ya da kullanmadığınız takdirde libvirt'i devre dışı bırakmanız gerekebilir;
sudo bash -c 'echo "manual" > /etc/init/libvirt-bin.override'
Ubuntu veya Debian'ı değil RedHat ve CentOS için uygun komutu kullanıyorsunuz.
http://www.cyberciti.biz/faq/ubuntu-server-disable-firewall/
Varsayılan olarak hiçbiri yoktur, ancak son debian türevlerinde (Ubuntu dahil) iptables'ı yönetmek için bir servis kurabilirsiniz :
sudo apt install iptables-persistent
Daha sonra önceden kaydedilmiş kuralları yükleyebilirsiniz:
systemctl start netfilter-persistent
Olanları gözden geçir:
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.
Veya hizmeti durdurun:
systemctl stop netfilter-persistent
Hizmeti durdurmak, varsayılan olarak, olacak değil floş iptables (yani güvenlik duvarı devre dışı bırakmaz, bakınız man netfilter-persistent
).
/etc/init.d/
. (un) yararlı bir şekilde googling 'iptables ubuntu'yu kapattığınızda' elde ettiğiniz en üst bağlantıdır.