Еще раз о Gentoo

 
UA Zebottendorf #06.08.2007 12:48
+
-
edit
 

Zebottendorf

втянувшийся

Поставил на связной сервак Gentoo. Все работает как надо, но есть одно но. iptables NAT жрать не хотят. На простую строку

/sbin/iptables -t nat -A POSTROUTING ... -j SNAT --to-source ...

отвечает

iptables: No chain/target/match by that name

Ядро 2.6.21 из gentoo-sources

lsmod:

Module Size Used by
ppp_async 7680 0
ppp_generic 17172 1 ppp_async
slhc 5248 1 ppp_generic
crc_ccitt 2048 1 ppp_async
ipt_SAME 2048 0
ipt_MASQUERADE 2688 0
iptable_nat 5764 0
nf_nat 13100 3 ipt_SAME,ipt_MASQUERADE,iptable_nat
nf_conntrack_ipv4 11532 2 iptable_nat
nf_conntrack 42312 4 ipt_MASQUERADE,iptable_nat,nf_nat,nf
pv4
iptable_mangle 2304 0
iptable_filter 2432 1
ip_tables 8904 3 iptable_nat,iptable_mangle,iptable_f
x_tables 10372 4 ipt_SAME,ipt_MASQUERADE,iptable_nat,

Фрагмент конфига ядра:

CONFIG_NETFILTER=y


#

#
CONFIG_NETFILTER_NETLINK=m


CONFIG_NF_CONNTRACK_ENABLED=m
CONFIG_NF_CONNTRACK_SUPPORT=y

CONFIG_NF_CONNTRACK=m





CONFIG_NF_CONNTRACK_FTP=m








CONFIG_NETFILTER_XTABLES=m










CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m




















#

#
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_PROC_COMPAT=y

CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_IPRANGE=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_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
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_NF_NAT_FTP=m






CONFIG_IP_NF_MANGLE=m







#

#


#

#


Кто-нибудь может что-то посоветовать?
 
US Спокойный_Тип #06.08.2007 16:13
+
-
edit
 
iptables -L
что говорят?
и
iptables -L -t nat
 
UA Zebottendorf #07.08.2007 13:52
+
-
edit
 

Zebottendorf

втянувшийся

thinbox clamav # iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all — anywhere 16.1.1.0/24
DROP all — anywhere 1.1.1.0/24
DROP all — anywhere 1.2.1.0/24

Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all — !192.9.30.0/24 anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP all — 192.9.0.0/16 anywhere

thinbox clamav # iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
 
RU Спокойный_Тип #07.08.2007 22:05
+
-
edit
 
ну...судя по этому с самими iptables всё отлично...гдето в синтаксисе ошибка
давай целиком команду которую пытаешься выполнить
и скажи что куда натишь - я так понимаю пробрасываешь чтото вовнутрь?
скорее наружу тока
 
Это сообщение редактировалось 07.08.2007 в 22:27
UA Zebottendorf #08.08.2007 09:30  @спокойный тип#07.08.2007 22:05
+
-
edit
 

Zebottendorf

втянувшийся

Спокойный_Тип> ну...судя по этому с самими iptables всё отлично...гдето в синтаксисе ошибка
Спокойный_Тип> давай целиком команду которую пытаешься выполнить
Спокойный_Тип> и скажи что куда натишь - я так понимаю пробрасываешь чтото вовнутрь?
Спокойный_Тип> скорее наружу тока
Команда приведена в первом постинге:

/sbin/iptables -t nat -A POSTROUTING ... -j SNAT --to-source ...

Пробрасываю именно наружу.
 
+
-
edit
 

HolyBoy

аксакал

Фрагмент моего скрипта, в котором разрешаю NAT:

$IPT -t nat -A PREROUTING -j ACCEPT
$IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET -j MASQUERADE
$IPT -t nat -A POSTROUTING -j ACCEPT
$IPT -t nat -A OUTPUT -j ACCEPT

где
IPT="/sbin/iptables"


$EXTIF - внешний интерфейс, который подключается к интернету, $INTNET - внутренняя сеть.

Если надо, могу весь скрипт выложить. В нем надо только указать внутренний и внешний интерфейсы, а также размножить строки для внутренних интерфейсов, если их несколько.

ЗЫ Винда, не понимает UTF-8, посему в скрипте все комменты будут нечитабельны.
 
US Спокойный_Тип #08.08.2007 15:40
+
-
edit
 
вот такая команда у тебя проходит? ip и название внешнего интерфейса свои подставь
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -o eth0 -j SNAT --to-source 200.100.100.101

ну и посмотри типа банальные весчи как то
а) find / -name iptables
б) -s ... -o ... и --to-source ... правильные подставляются
бывают удивительные весчи
 
US Спокойный_Тип #08.08.2007 15:50
+
-
edit
 
да ...и напиши полную команду по типу как я прописал - вот мой пример - он вообще с редхатовской машинки, на моей генту только что запустил его - работает
 
US Спокойный_Тип #08.08.2007 15:51
+
-
edit
 
zulu ~ # iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
zulu ~ # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -o eth0 -j SNAT --to-source 10.10.10.1
zulu ~ # iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all — 192.168.0.0/24 anywhere to:10.10.10.1

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
 
US Спокойный_Тип #08.08.2007 16:04
+
-
edit
 
если же нет - ну тогда надо попробовать собрать ядро заново в таком вот типа как у меня конфиге -

...
CONFIG_NETFILTER=y
...
...

#
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_CT_ACCT=y
CONFIG_IP_NF_CONNTRACK_MARK=y
CONFIG_IP_NF_CONNTRACK_EVENTS=y
CONFIG_IP_NF_CONNTRACK_NETLINK=y
CONFIG_IP_NF_CT_PROTO_SCTP=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_IRC=y
CONFIG_IP_NF_NETBIOS_NS=y
CONFIG_IP_NF_TFTP=y
CONFIG_IP_NF_AMANDA=y
CONFIG_IP_NF_PPTP=y
CONFIG_IP_NF_H323=y
CONFIG_IP_NF_SIP=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_DSCP=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_MATCH_ADDRTYPE=y
CONFIG_IP_NF_MATCH_HASHLIMIT=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_IP_NF_TARGET_TCPMSS=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_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_SAME=y
CONFIG_IP_NF_NAT_SNMP_BASIC=y
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_NAT_TFTP=y
CONFIG_IP_NF_NAT_AMANDA=y
CONFIG_IP_NF_NAT_PPTP=y
CONFIG_IP_NF_NAT_H323=y
CONFIG_IP_NF_NAT_SIP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_DSCP=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_TARGET_CLUSTERIP=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
....
 
US Спокойный_Тип #08.08.2007 16:13
+
-
edit
 
если ты модули c =m собирал
попробуй

lsmod
modprobe ip_tables
modprobe iptable_nat
lsmmod
 
+
-
edit
 

HolyBoy

аксакал

Ядро 2.6 автоматически загружает модули, если включить эту опцию. Значит, надо распечатать список активных модулей и посмотреть, есть ли там они.
 
US Спокойный_Тип #08.08.2007 17:00
+
-
edit
 
согласен, что ядро 2.6 ДОЛЖНО автоматически загружать модули
и поидее конфиг нормальный - iptables и nat ДОЛЖНЫ работать
 
RU helicopter #08.08.2007 20:04
+
-
edit
 

helicopter

втянувшийся

Ядро будет автоматически загружать модули только если включена соответствующая опция, так-что стоит проверить и, если что, загрузить вручную + /etc/modules.autoload.d/kernel-2.6
 
UA Zebottendorf #10.08.2007 14:56
+
-
edit
 

Zebottendorf

втянувшийся

Всем спасибо, разобрался. Дело в том, что у меня был не поднят модуль xt_tcpudp, и при виде -p tcp iptables грязно матерился.
 

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки






Твиттер сайта
Статистика
Рейтинг@Mail.ru
АвиаТОП
 
Яндекс.Метрика
website counter
 
free counters