iptables nat mevcut değil


13

Bugün ana sistemdeki benim iptables nat çalışmayı durdurdu ve ne oldu hiçbir ipucu var! (Bu çok kötü, biliyorum)

Tüm komutlar kök kullanıcı olarak yürütülür.

Çalıştırırsam $ iptables -t nat -Laşağıdaki hata iletisini alırım:

$ iptables -t nat -L
iptables v1.4.7: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Başka güncelleme yok. Ben de birkaç eski çekirdek ile sunucuyu yeniden başlattım, ama her zaman aynı hata iletisini alıyorum.

Sunucum en son sürümde resmi OpenVZ çekirdeği ile CentOS üzerinde çalışıyor.

$ uname -r
2.6.32-042stab088.4

Ayrıca test edilmiş çekirdek sürümü: 2.6.32-042stab85.20 ve 2.6.32-042stab084.26

Grub.conf dosyasındaki ilk çekirdek:

title OpenVZ (2.6.32-042stab088.4)
root (hd0,1)
kernel /vmlinuz-2.6.32-042stab088.4 ro root=/dev/md2 rd_NO_LUKS rd_NO_DM nomodeset crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=de
initrd /initramfs-2.6.32-042stab088.4.img

Aşağıdaki güncellemeler yüklendi:

$ rpm -qa --last
vzctl-4.7.2-1.x86_64                          Mon 05 May 2014 03:25:16 AM CEST
vzctl-core-4.7.2-1.x86_64                     Mon 05 May 2014 03:25:14 AM CEST
util-linux-ng-2.17.2-12.14.el6_5.x86_64       Wed 30 Apr 2014 11:37:19 PM CEST
libuuid-2.17.2-12.14.el6_5.x86_64             Wed 30 Apr 2014 11:37:18 PM CEST
libblkid-2.17.2-12.14.el6_5.x86_64            Wed 30 Apr 2014 11:37:18 PM CEST
vzkernel-2.6.32-042stab088.4.x86_64           Mon 26 Apr 2014 09:01:00 AM CEST
nss-softokn-freebl-3.14.3-10.el6_5.x86_64     Sat 26 Apr 2014 09:01:00 AM CEST
nss-softokn-3.14.3-10.el6_5.x86_64            Sat 26 Apr 2014 09:01:00 AM CEST
bridge-utils-1.2-10.el6.x86_64                Tue 15 Apr 2014 02:22:41 PM CEST
openssl-1.0.1e-16.el6_5.7.x86_64              Wed 09 Apr 2014 10:14:03 AM CEST
...

lsmod bana şunları verir:

$ lsmod | grep ip
iptable_nat             6302  0
nf_nat                 23213  2 iptable_nat,vzrst
nf_conntrack_ipv4       9946  3 iptable_nat,nf_nat
nf_defrag_ipv4          1531  1 nf_conntrack_ipv4
nf_conntrack           80281  5 iptable_nat,vzrst,nf_nat,nf_conntrack_ipv4,vzcpt
ip6t_REJECT             4711  0
ip6table_mangle         3669  0
ip6table_filter         3033  0
ip6_tables             18988  2 ip6table_mangle,ip6table_filter
iptable_mangle          3493  0
iptable_filter          2937  0
xt_multiport            2716  0
ipt_REJECT              2399  0
ip_tables              18119  3 iptable_nat,iptable_mangle,iptable_filter
ipv6                  322519  35 vzrst,ip6t_REJECT,ip6table_mangle

Modprobe çalıştırıldığında aşağıdaki hata oluşur:

$ modprobe /lib/modules/2.6.32-042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko
FATAL: Module /lib/modules/2.6.32_042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko not found.

Ancak dosya var:

$ ll /lib/modules/2.6.32-042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko
-rwxr--r-- 1 root root 16K Apr  3 16:20 /lib/modules/2.6.32-042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko*

Herhangi bir fikir?


Bazı OpenVZ yapılandırmaları konuklarda NAT'ı etkinleştirmez. Ana bilgisayarda bir şey değişti mi?
Zoredache

Bu bir konuk sistem değil, ana sistemdir.
Lukas Schulze

Yanıtlar:


10

Vzctl'in 4.6'dan 4.7'ye güncellenmesi nedeniyle, nf_conntrack ayarını varsayılan olarak devre dışı bırakılacak şekilde değiştirdiler. ( https://openvz.org/Download/vzctl/4.7/changes )

Karşılık gelen taahhüt mesajı:

...

VE0 için bağlantıyı varsayılan olarak devre dışı bırak

IP bağlantısı işlevselliğinin venet performansı üzerinde olumsuz bir etkisi vardır (uo ila yaklaşık% 10), bu nedenle varsayılan olarak devre dışı bırakılmaları daha iyi olur.

...

(Kaynak: http://git.openvz.org/?p=vzctl;a=commit;h=a191a462579ee )

Çözüm:

Dağılımına bağlı olarak / etc dizininde bir yerdedir. Bul onu:

$ sudo grep -R "seçenekleri nf_conntrack ip_conntrack_disable_ve0 = 1" /etc/modprobe.d/

ve "1" yerine "0" yazın:

seçenekler nf_conntrack ip_conntrack_disable_ve0 = 0

sisteminizi yeniden başlatın

(Kaynak: https://bugzilla.openvz.org/show_bug.cgi?id=2943#c5 )

Yeniden başlatmaya alternatif olarak:

rmmod iptable_nat
rmmod nf_nat
rmmod nf_conntrack_ipv4
rmmod nf_conntrack

Ve nat şimdi çalışıyor

Tüm kaynaklar:

Vzctl 4.7 için değişiklik günlüğü: https://openvz.org/Download/vzctl/4.7/changes

Yorumlarda çözüm içeren hata raporu: https://bugzilla.openvz.org/show_bug.cgi?id=2943

Kısaltılmış çözüm açıklamalı hata raporu: https://bugzilla.openvz.org/show_bug.cgi?id=2755#c4

Karşılık gelen GIT taahhüdü: http://git.openvz.org/?p=vzctl;a=commit;h=a191a462579ee

İlgili Wiki makalesi: https://openvz.org/NAT#IP_conntracks


4

Çalıştırmak için süper kullanıcı olmalısınız iptables. Bu nedenle, olarak çalıştırın root.

$ iptables -t nat -L
iptables v1.4.19.1: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.

# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
[...]

1
Zaten root kullanıcısı olarak giriş yaptım.
Lukas Schulze

1

Dosyada bir şeylerin yanlış olduğu anlaşılıyor mu? Modprobe /lib/modules/2.6.32-042stab088.4/kernel/net/ipv4/netfilter/iptable_nat.ko kopyalamaya çalışırsanız ne olur? Sistem gerçekten bir ENOENT döndürüyor mu (Böyle bir dosya veya dizin yok)? Bunun olacağını düşünemiyorum, ama belki SELinux dosya ile uğraşıyor? Ve son olarak, dosya / dosya sistemi bozuk olabilir. md5sum bilinen bir sürümü ile toplayın. Veya sadece kaldırın ve yenisini kopyalayın. Umarım dosya sistemi değildir.

Bunu deneyin: /programming/3140478/fatal-module-not-found-error-using-modprobe


0

Bu soruna başka bir çözüm buldum! Düğümden kaldıramadım

rmmod iptable_nat
rmmod nf_nat
rmmod nf_conntrack_ipv4
rmmod nf_conntrack

Resmi Rehberde buldum:

vzctl set VZID - netfilter full --save --setmode yeniden başlatma

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.