ďťż
 
 
   [+]kernel 2.6.27 i niedziałające iptables
 
 

Tematy

 
    
 

 

 

 

[+]kernel 2.6.27 i niedziałające iptables





fenix23 - 09-11-2008 11:24
Witam Serdecznie

Zgłaszam się do was z problemem następującej maści. Zainstalowałem najnowszy stabilny kernel z kernel.org 2.6.27 i nie jestem w stanie uruchomić działającego iptables. Krzyczy, że nie ma tablicy nat i czy przypadkiem nie potrzebuję użyć insmod. Dodam, że ten sam kernel instalowałem na mojej domowej maszynie i iptables działa. Ten sam skrypt wywala ten właśnie błąd. Niestety nie zacytuje bo maszyna jest wyłączona. I nawet ustawiając tą samą konfigurację co na domowej maszynie nadal jest ten błąd.

Oto fragment .config: # Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_NETMAP=y
# CONFIG_NF_NAT_SNMP_BASIC is not set
CONFIG_NF_NAT_PROTO_DCCP=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PROTO_UDPLITE=m
CONFIG_NF_NAT_PROTO_SCTP=m
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m Próbowałem już nawet z samymi y-kami. Przy tej konfiguracji działa u mnie w domu, a w pracy nie chce.

Macie jakieś pomysły? Jeszcze się dopytam czy na pewno zmiany są aktualne bo może uruchamiam cały czas to samo i nawet o tym nie wiem.
Po każdej zmianie konfiguracji robię make clean żeby usunął stare obiekty po czym make, następnie make modules, a na koniec po uprzednim usunięciu /lib/modules/2.6.27, make modules_install.

Po tej operacji kopiuję wykonując: cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.27
cp System.map /boot/System.map -2.6.27 i na koniec mkinitrd -o /boot/initrd.img-2.6.27 /lib/modules/2.6.27 dowiązań symbolicznych już nie robię bo one wskazują nadal na te same miejsca mimo podmiany vmlinuz. Dla pewności sprawdzam czy faktycznie zrobiło nadpisanie, i data i godzina modyfikacji odpowiada tej faktycznej, chyba że zmienia się tylko data, a obraz jest nadal ten sam.

Robię coś źle? Dlaczego nadal nie mogę tego uruchomić? Czy może brakuje mi czegoś z poza modułu netfilter ale nie mam wtedy pojęcia czego.



markossx - 09-11-2008 11:38
Włącz tamten sprzęt i pokaż ten błąd...



fenix23 - 09-11-2008 14:34
To jest typowy błąd, coś na podobnego do tego, tylko aktualna wersja iptables w kernelu 2.6.27: iptables v1.2.10: can't initialize iptables table `NAT': Table does not exist (do you need to insmod?) Problem ten udało mi się rozwiązać w domu ale w pracy niestety mimo wielokrotnej kompilacji jest lipa.



Utumno - 09-11-2008 15:27
Swoja droga, znacznie latwiej kompilowac kernel metoda Debiana:
aptitude install kernel-package
cd $(zrodla kernela)
make gconfig
make-kpkg kernel_image I zrobi ci paczke .deb ktora potem instalujesz dpkg -i jak kazda inna.



fenix23 - 12-11-2008 11:21
Dziękuję ale metodą klasyczną mi się dobrze pracuje, problem podejrzewam nie leży w sposobie kompilacji.

Wedle życzenia cytuję błąd ... Chociaż chciałem móc jakieś rozwiązania próbować. FATAL: Module ip_tables not found
iptables v1.3.6: can't initialize iptables table 'NAT': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded Można prosić o jakieś propozycje rozwiązania?



lis6502 - 12-11-2008 11:24
głupie pytanie: po kompilacji zrobiłeś make modules && make modules_install, później ew depmod?. Poszukaj czy faktycznie masz w /lib/modules/$(uname -r)/net/gdzieśtam moduł iptables...



fenix23 - 12-11-2008 14:02
Ostatnio robiłem tak:
make bzImage
make modules <---po tym robię za każdym razem rm -R /lib/modules/($uname -r)
make modules_install Po kompilacji kopiuje z katalogu arch/x86/boot plik bzImage sprawdzałem tylko tam jest ten plik.
Kopiuję System.map w odpowiednie miejsce.
Wykonuje mkinitrd -o /boot/init.... /lib/modules/2.6.27

Nie robię już linków bo one istnieją.

depmod nigdy nie robiłem.

W katalogu o którym wspomniałeś nie ma samego w sobie modułu ip_tables bo powinien być on wkompilowany w jądro i tak ma być i tak jest bo komenda iptables -L zwraca wynik: Chain INPUT (policy ACCEPT)
target  prot opt source    destination

Cahin FORWARD (policy ACCEPT)
target  prot opt source      destination

Chain OUTPUT  (policy ACCEPT)
target  prot opt soruce      destination Oczywiście to nam w niczym nie pomoże ale chciałem pokazać że moduł ip_tables jest działający.
Problem w tym, że nigdzie nie widzę modułów dotyczących NAT co z jednej strony jest dobrze bo kazałem je wkompilować w jajko ale jak widać nie działają. Czy może spróbować je skompilować jako moduły?

PS. NAT nie było w katalogu netfilter ale za to w katalogu ../net/ipv4/netfilter jest coś takiego jak:

np. takie coś nf_nat_amanda.ko oraz nf_nat_h323.ko nf_pptp.ko ...

PS. Jak uruchamiać moduły może znajdę jakoś brakujący moduł i go wkompiluje na stałe?



siarka - 12-11-2008 16:12
jak masz kernela 2.6.27 to iptables przydałoby się do niego dopasować, najlepiej żeby to była wersja >= 1.4.0



sappa - 12-11-2008 18:32
Wklej wynik poleceń: uname -a
lsmod
modprobe -l | grep ipt
modprobe -l | grep nf_ I sprawdź czy masz ustawione: CONFIG_NETFILTER=y i CONFIG_NETFILTER_ADVANCED=y Pozdro



fenix23 - 12-11-2008 18:56

jak masz kernela 2.6.27 to iptables przydałoby się do niego dopasować, najlepiej żeby to była wersja >= 1.4.0 Co mam przez to rozumieć? że w tym kernelu który mam jest jakiś stary iptables ? czy to kwestia zrobienia apt-get upgrade?


... Niestety wyniki podam dopiero w piątek.



Utumno - 13-11-2008 08:04
Z tym dopasowaniem wersji iptables to bzdura.

Wszelkie znaki na niebie i ziemi sugeruja, ze zle kompilujesz. Dlatego ponownie apeluje o uzywanie Debianowego sposobu :) Zwykly nie ma zadnych przewag, ewentualnie moze jesli kompilujesz tez kernele na innych systemach i chcesz to wszedzie robic w ten sam sposob...



siarka - 13-11-2008 08:05
Część modułów netfilter jest już pisana na xtables, a im starsze iptables tym więcej modułów na iptables.



Utumno - 13-11-2008 10:27
Sugerujesz ze iptables w oficjalnym kernelu 2.6.27 z kernel.org nie dzialaja i trzeba je patchowac? Szczerze watpie.



Rad - 13-11-2008 12:32
Chodzi mu o program do sterowania iptables (notabene o nazwie iptables), który się znajduje w repozytorium Sarge'a. Być może nie potrafi obsłużyć modułów z najnowszego jądra. Piszę może, bo nie miałem z tym nigdy problemów (ale też nie używałem ostatnio Sarge'a).



fenix23 - 14-11-2008 10:03

... Wyniki o które prosiłeś.

uname -a
Linux serwis 2.6.27 #6 Wed Nov 12 13:37:00 CET 2008 i686 GNU/Linux lsmod
Module                  Size  Used by
ipv6                  198356  -
8250_pnp              13884  -
8250                  18452  -
serial_core            15548  -
parport_pc            28196  -
parport                29896  -
floppy                44964  -
ehci_hcd              26216  -
usbcore              111280  -
8139cp                15740  -
rng_core                3744  -
shpchp                24848  -
pci_hotplug            11300  -
intel_agp              22620  -
8139too                19228  -
bitrev                  1884  -
crc32                  3708  -
e100                  28264  -
mii                    4668  -
agpgart                28876  -
dm_mod                41284  -
ide_cd_mod            26560  -
cdrom                  29888  -
rtc                    8504  -
ext3                  103300  -
jbd                    34800  -
ide_disk                9948  -
via82cxxx              5632  -
trm290                  3424  -
triflex                2364  -
slc90e66                3100  -
sis5513                6976  -
siimage                6748  -
serverworks            4896  -
sc1200                  4284  -
rz1000                  2140  -
piix                    5536  -
pdc202xx_old            5660  -
pdc202xx_new            5148  -
opti621                2528  -
ns87415                3400  -
ide_pci_generic        3424  -
hpt366                12284  -
cs5530                  3196  -
cmd64x                  4956  -
cmd640                  3248  -
atiixp                  3260  -
amd74xx                5476  -
alim15x3                5672  -
aec62xx                4284  -
ide_core              81908  -
unix                  18828  -
modprobe -l | grep ipt
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/iptable_raw.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/iptable_mangle.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_ttl.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_recent.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_ecn.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_ah.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_addrtype.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_ULOG.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_TTL.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_REJECT.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_LOG.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_ECN.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/ipt_CLUSTERIP.ko
modprobe -l | grep nf_
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_tftp.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_sip.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_sane.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_proto_udplite.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_proto_sctp.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_proto_gre.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_proto_dccp.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_pptp.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_netlink.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_netbios_ns.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_h323.ko
/lib/modules/2.6.27/kernel/net/netfilter/nf_conntrack_amanda.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_tftp.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_sip.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_proto_udplite.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_proto_sctp.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_proto_dccp.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_pptp.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_h323.ko
/lib/modules/2.6.27/kernel/net/ipv4/netfilter/nf_nat_amanda.ko CONFIG_NETFILTER=y jest
i CONFIG_NETFILTER_ADVANCED=y również jest

Również pozdrawiam :)



sappa - 14-11-2008 12:05
hmm dopiero teraz zauwarzylem ze nat i filter masz na stale wkompilowane w jajo. Moze faktycznie iptables z sarge nie portrafi komunikowac sie z modulami z nowego jaja. Moze testowo zainstaluj sobie jakies nowesze iptables ze zrodelek i zobacz czy problem sie pojawi



fenix23 - 14-11-2008 12:40
To dlaczego na zupełnie innej maszynie, kompilowałem to samo jądro i uruchamiam ten sam skrypt i wszystko działa?
Linux firebird 2.6.27 #3 Tue Nov 4 18:04:59 CET 2008 i686 GNU/Linux Bardzo nie lubię jak coś jest pozbawione sensu :/

Ale spróbuję z nowszym iptables.

[Dodano: 2008-11-14, 12:59]

To się chyba skończy zawałem :/
FATAL: Module ip_tables not found.
iptables v1.4.2-rc1: can't initialize iptables table `NAT': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.



hiper - 14-11-2008 21:28
hm..
że tak zapytam...

wpisz iptables w konsoli... bo mam wrażenie że nie usunąłeś starego iptables domyślnie zainstalowanego w dystrybucji. I zapewne nie przeniosło i nie nadpisało nowy - być może dlatego różnica.

Ręcznie przekopiuj nowo skompilowane IPTABLES do /sbin.

Daj znać jak poszło.



fenix23 - 14-11-2008 21:50
jeśli polecenie zwraca nową wersję to raczej nie jest to kwestia przeniesienia pozatym zrobiłem w folderze ./iptables dla pewności.

Napiszę może jak to się zaczęło może się przyda. Otóż system instalowałem z netinstal z jądrem 2.4 i u mnie w domu już domyślnie było iptables a tam jak później się okazało nie było. Na szczęście mogę sobie jeszcze pozwolić na postawienie systemu od nowa z płyty z aktualniejszym jądrem. Zobaczymy jaki będzie wynik.

PS: Dam znać po weekendzie

Pozdrawiam

[ Dodano: 2008-11-18, 11:07 ]
chciałem się tylko pochwalić że przeinstalowałem linuxa bo mogłem sobie na to pozwolić i działa z kernelem 2.6.18 , troszkę windowsowe podejście ale dla mnie ważne że skuteczne :]

Pozdrawiam wszystkich i dziękuje za pomoc i zainteresowanie.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis