Решено: NAT - нет такого пункта в ядре (поднимаю rp-pppoe)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

playnet
Сообщения: 373
Статус: изучающий
ОС: CentOS, FreeBSD

Решено: NAT - нет такого пункта в ядре

Сообщение playnet »

Поднимаю rp-pppoe

gate netfilter # iptables -t nat -P PREROUTING ACCEPT
FATAL: Module ip_tables not found.
iptables v1.3.8: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
gate netfilter # cat /usr/src/linux/.config|grep MASQUERADE
gate netfilter # cat /usr/src/linux/.config|grep NAT
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_SNAT=m
# CONFIG_NATSEMI is not set

Что и куда вставить, чтобы появился нормальный нат?
Делал modprobe ebt_dnat
modprobe ebt_snat
modprobe ebtable_nat
не помогло.
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Решено: NAT - нет такого пункта в ядре

Сообщение Uncle_Theodore »

Покажи вывод

Код: Выделить всё

zcat /proc/config.gz | grep IP_NF
Спасибо сказали:
playnet
Сообщения: 373
Статус: изучающий
ОС: CentOS, FreeBSD

Re: Решено: NAT - нет такого пункта в ядре

Сообщение playnet »

Uncle_Theodore писал(а):
16.09.2007 05:20
Покажи вывод

Код: Выделить всё

zcat /proc/config.gz | grep IP_NF

Код: Выделить всё

gate netfilter # zcat /proc/config.gz | grep IP_NF
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_TOS=m
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_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
# CONFIG_IP_NF_TARGET_ECN is not set
# CONFIG_IP_NF_TARGET_TTL is not set
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
# CONFIG_IP_NF_ARP_MANGLE is not set
Спасибо сказали:
playnet
Сообщения: 373
Статус: изучающий
ОС: CentOS, FreeBSD

Re: Решено: NAT - нет такого пункта в ядре

Сообщение playnet »

Смотрю по вcем докам, должно быть
<*> Full NAT
<*> MASQUERADE target support
Тут такого просто нет.

gate linux # uname -a
Linux gate 2.6.22-gentoo-r5 #1 Sun Sep 16 01:14:36 Local time zone must be set--see zic manu i686 Celeron (Mendocino) GenuineIntel GNU/Linux

Может, что руками в кинфиг вписать...
Спасибо сказали:
playnet
Сообщения: 373
Статус: изучающий
ОС: CentOS, FreeBSD

Re: Решено: NAT - нет такого пункта в ядре

Сообщение playnet »

Все хуже, чем я думал.

Вписал из конфига .17
# CONFIG_IP_NF_NAT is not set
CONFIG_IP_NF_NAT=y

gate linux # make
scripts/kconfig/conf -s arch/i386/Kconfig
.config:481:warning: trying to assign nonexistent symbol IP_NF_NAT

Что ж получается.. в 2.6.20+ просто нету ната?
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Решено: NAT - нет такого пункта в ядре

Сообщение DaemonTux »

есть в ядре нат. Просто он хитро включается. Чтобы в настройках появилась опция для fulnat нужно включить несколько пунктов в ядре сейчас точно не вспомню все конфиги на работе валяются.
Vladivostok Linux User Group
Спасибо сказали:
playnet
Сообщения: 373
Статус: изучающий
ОС: CentOS, FreeBSD

Re: Решено: NAT - нет такого пункта в ядре

Сообщение playnet »

Сделал make allmodconfig
Появились нужные строки...
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
Но! Вставил их в свой конфиг, облазил все меню. Нету этих строк нигде. Оно что, настолько редко используется, что убрано из меню? Или это бага?
Какой идиот так далеко заныкал такие нужные строки...

DaemonTux
Посмотри плиз, что надо активировать, чтобы вообще появлялась возможность ната.
Спасибо сказали:
playnet
Сообщения: 373
Статус: изучающий
ОС: CentOS, FreeBSD

Re: Решено: NAT - нет такого пункта в ядре

Сообщение playnet »

6 часов [old]тра[old] извращений с конфигами дали:
config IP_NF_TARGET_MASQUERADE
tristate "MASQUERADE target support"
depends on NF_NAT

config NF_NAT
tristate "Full NAT"
depends on IP_NF_IPTABLES && NF_CONNTRACK_IPV4

Что нужен NF_CONNTRACK_IPV4, не сказано НИГДЕ. Ну почему все через Ж...
Вариант 2, по которому я также пошел: активировать все подряд, авось вот та левая опция в десятой подменюшке сидит в зависимостях..
С пакетами хотя бы давно сделано так: ставим нужный, а система пакетов сама вычислит, от чего наш пакет зависит, и все доставит. А что мешает сделать тоже самое с ядром? Или хотя бы не тупое удаление "неугодных" строк из конфига, а ругань на КОНКРЕТНЫЕ зависимости. Чтобы хбы было понятно, куда копать.
Я конечно понимаю, что линух опопсел, и у меня штатно даже iptables не стояли.. Но какого хрена было так далеко в ядре прятать нат, я не понимаю.
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Решено: NAT - нет такого пункта в ядре

Сообщение Uncle_Theodore »

Я спать уходил, сорри...
Вот, сравни с моим.

Код: Выделить всё

 zcat /proc/config.gz | grep IP_NF
# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_TOS=m
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_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=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
Спасибо сказали:
playnet
Сообщения: 373
Статус: изучающий
ОС: CentOS, FreeBSD

Re: Решено: NAT - нет такого пункта в ядре

Сообщение playnet »

Uncle_Theodore писал(а):
16.09.2007 19:46
Я спать уходил, сорри...
Вот, сравни с моим.

Код: Выделить всё

 zcat /proc/config.gz | grep IP_NF
...
CONFIG_IP_NF_ARP_MANGLE=m

Код: Выделить всё

gate ~ # zcat /proc/config.gz | grep NF_CONNTRACK
CONFIG_NF_CONNTRACK_ENABLED=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_PPTP=m
# CONFIG_NF_CONNTRACK_SANE is not set
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
# CONFIG_NF_CONNTRACK_IPV6 is not set


Собсно, ничего не работало из-за отсутствия этой строки:
CONFIG_NF_CONNTRACK_IPV4=m
Спасибо сказали: