Пытаюсь настроить NAT на Linux.
Для начала конфигурирую новое ядро с поддержкойCONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_PACKET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_NAT_FTP=yкак статические модули, потом делаю:
make dep;
make clean;
make bzImage;
make modules;
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.17.new;
cp /usr/src/linux/System.map /boot/System.map-2.4.17.newпотом смотрю в lilo.conf,
там такое:default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear
delay=40image=/boot/vmlinuz-2.4.17
label=linux
read-only
root=/dev/hda3после добовления нового ядра получаеться
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear
delay=40image=/boot/vmlinuz-2.4.17.new
label=linux
read-only
root=/dev/hda3image=/boot/vmlinuz-2.4.17
label=linuxold
read-only
root=/dev/hda3Перегружаю систему.
потом ввожу такую команду
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/16 --out-interface eth0
-j SNAT --to-source x.x.x.xа он отвечает
iptables v1.2.3: can't initialize iptables table `nat': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.Немогу понять - вроде поддержку NAT в ядро поставил почему же тогда не пашет.
Зарание благодарен.
>Пытаюсь настроить NAT на Linux.
>Для начала конфигурирую новое ядро с поддержкой
>
>CONFIG_NETFILTER=y
>CONFIG_NETFILTER_DEBUG=y
>CONFIG_PACKET=y
>CONFIG_IP_MULTICAST=y
>CONFIG_IP_NF_CONNTRACK=y
>CONFIG_IP_NF_FTP=y
>CONFIG_IP_NF_IPTABLES=y
>CONFIG_IP_NF_FILTER=y
>CONFIG_IP_NF_TARGET_REJECT=y
>CONFIG_IP_NF_NAT=y
>CONFIG_IP_NF_NAT_NEEDED=y
>CONFIG_IP_NF_TARGET_MASQUERADE=y
>CONFIG_IP_NF_TARGET_REDIRECT=y
>CONFIG_IP_NF_NAT_FTP=y
>
>как статические модули, потом делаю:
>
>make dep;
>make clean;
>make bzImage;
>make modules;
А ты не забыл случайно make modules_install ?
>А ты не забыл случайно make modules_install ?не забыл.
при чем если остановить сервис iptables и запустить сервис ipchains то ipchains работает. Но хотелось бы iptables.
Насколько я помню (давно ядро сам не собирал) есть в настройках такой ключик аля "замена ipchains на iptables". Ты его ставил?wbr, akeeper.
>Насколько я помню (давно ядро сам не собирал) есть в настройках такой
>ключик аля "замена ipchains на iptables". Ты его ставил?поставил.
Кстати он пишет что не может коректно запустить сервис iptables.Ладно, настрою все на ipchains. И будет меньше гимороя.
Но все равно спасибо за консультацию.
Poprobui udalit voobshe ipchains
u menia posle etogo correctno zarabotalo
>Poprobui udalit voobshe ipchains
>u menia posle etogo correctno zarabotaloспасибо попробую
Обнови ядро! Perhaps iptables or your kernel needs to be upgraded.
Я с таким сталкнулся на Debian Woody с родным ядром. Обновил да 2.4.21 и все заработало.
>iptables v1.2.3: can't initialize iptables table `nat': iptables who? (do you need
>to insmod?)
так может модули надо подгрузить, ты же поддержку в модулях компилил...
>так может модули надо подгрузить, ты же поддержку в модулях компилил...Я дал тебе решение каторым решил такую же проблему! Если ты все нужное включил в ядре и не работает, то я не вижу смысла смотреть в сторону модулей.
Всем большое спасибо за советы!
Я мучался-мучался и в конце концов отключил в ядре поддержку iptables и все зделал с помощью ipchains.А в плане:
> Обнови ядро! Perhaps iptables or your kernel needs to be upgraded.
> Я с таким сталкнулся на Debian Woody с родным ядром. Обновил да 2.4.21 и > все заработало.
То я решил не воспользоваться этим способом из-за того что это ядро не очень стабильно посравнению 2.14.17 которое стоит в данный момент. Но все равно спасибо!
ну во-первых если ты руками вносил изменение в конфигурационный файл для компиляции ядра, то вероятно ты забыл убрать поддержку ipchains, а с ним вместе, как известно, iptables в ядре неработает.
во-вторых, судя по записям установок ядра, поддержку модулей ты включил статично в ядро, поэтому make modules, make modules-install делать необязательно относительно iptables.
>ну во-первых если ты руками вносил изменение в конфигурационный файл для компиляции
>ядра, то вероятно ты забыл убрать поддержку ipchains, а с ним
>вместе, как известно, iptables в ядре неработает.
>во-вторых, судя по записям установок ядра, поддержку модулей ты включил статично в
>ядро, поэтому make modules, make modules-install делать необязательно относительно iptables.Я в опциях ядра поставил заменить iptables та ipchains.
>>ну во-первых если ты руками вносил изменение в конфигурационный файл для компиляции
>>ядра, то вероятно ты забыл убрать поддержку ipchains, а с ним
>>вместе, как известно, iptables в ядре неработает.
>>во-вторых, судя по записям установок ядра, поддержку модулей ты включил статично в
>>ядро, поэтому make modules, make modules-install делать необязательно относительно iptables.
>
>Я в опциях ядра поставил заменить iptables та ipchains.
Включи в make menuconfig
Network options -> IP: Netfilter configuration -> Full NAT
и в появившемся подменю что тебе нужно (MASQUERADE, REDIRECT...)
Для начала неплохо посмотреть что загружено из модулей.
lsmod
Потом проверь пути к УСТАНОВЛЕННЫМ ТОБОЙ модулям, бинарникам и библиотекам iptables. По умолчанию он их ставит не в те места, откуда ты запрашиваешь. Например /sbin/iptables будет старый, а в /usr/local/sbin/iptables новый. Ну и остальное установится в соответствующие места. У меня на системе прекрасно уживаются и ipchains и iptables. Правда используется только последний :) Так что совет снести ipchains скорее жест отчаяния, чем дельный совет.
Проверить как уже было сказано на предмет вкомпиляции в ядро поддержки ipchains и iptables. Сделать всё модулями. Проверить на предмет автозапуска сервисов. Если запускается ipchains, значит убрать его из автозапуска сервисов.
Вот кажется и всё для начала.С Новым Годом!