Страница 3 из 4

Re: давняя проблема с NAT

Добавлено: 13 окт 2009, 14:50
phaoost
tes+or, я конечно может не понял, но в таблице mangle у вас правило clamp-mss-to-pmtu есть?

[off]грамотно писать "пробовал", а то думаешь потом что или вы ё пропустили или ы вместо о написали[/off]

Re: давняя проблема с NAT

Добавлено: 16 окт 2009, 10:00
tes+or
на самом деле я в первый раз слышу про это правило, весь LARTC насквозь я не читал, только то что меня интересовало.

а вообще да, помогло такое:

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

iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
проблема решена, всем спасибо!

Re: давняя проблема с NAT

Добавлено: 16 окт 2009, 10:04
phaoost
tes+or,
я в первый раз слышу про это правило, весь LARTC насквозь я не читал
достаточно было прочитать man iptables :)
а правило должно выглядеть так:

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

iptables -t mangle -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Re: давняя проблема с NAT

Добавлено: 16 окт 2009, 10:23
tes+or
хм, ну да, теоретически так будет правильнее, но у меня и без указания таблицы работает ничуть не хуже. видимо оно само догадалось, ведь где значение полей переписывать как не в mangle?

Re: давняя проблема с NAT

Добавлено: 16 окт 2009, 13:14
tes+or
кстати по слухам мэйл.ру на оффтопике крутится, что показательно

Re: давняя проблема с NAT

Добавлено: 16 окт 2009, 15:28
phaoost
tes+or,

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

warp:~# iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
warp:~# iptables-save
# Generated by iptables-save v1.4.4 on Fri Oct 16 15:27:05 2009
*filter
:INPUT ACCEPT [66:7948]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [66:5252]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Fri Oct 16 15:27:05 2009
так что "само оно" не догадывается

Re: давняя проблема с NAT

Добавлено: 21 окт 2009, 18:38
tes+or
хм, так более того, он у меня на другом серваке принял только вариант без -t mangle , выругавшись так:

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

main etc # /etc/init.d/iptables restart
FATAL: Module ip_tables not found.
iptables v1.4.2: can't initialize iptables table `mangle': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
вообще странное что-то. ядро к слову монолитное и без -t mangle все сьелось. странно, потому как производить такие манипуляции нужно только в mangle.

Re: давняя проблема с NAT

Добавлено: 21 окт 2009, 23:44
phaoost
tes+or,

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

warp:~# lsmod |grep -i 'mangle'
iptable_mangle           960  1
ip_tables               6288  3 iptable_filter,iptable_nat,iptable_mangle

Re: давняя проблема с NAT

Добавлено: 21 окт 2009, 23:54
tes+or
повторюсь, у меня везде монолитное ядро, причем айпитаблицы в него вкомпилены и отлично работают, по этой причине меня особо озадачил такой вывод

Re: давняя проблема с NAT

Добавлено: 22 окт 2009, 00:27
phaoost
tes+or писал(а):повторюсь, у меня везде монолитное ядро, причем айпитаблицы в него вкомпилены и отлично работают, по этой причине меня особо озадачил такой вывод
я о том что может быть не всё вкомпилено? нетфильтр сам по себе модульный

Re: давняя проблема с NAT

Добавлено: 22 окт 2009, 10:48
kr0t
tes+or писал(а):хм, так более того, он у меня на другом серваке принял только вариант без -t mangle , выругавшись так:

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

main etc # /etc/init.d/iptables restart
FATAL: Module ip_tables not found.
iptables v1.4.2: can't initialize iptables table `mangle': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
вообще странное что-то. ядро к слову монолитное и без -t mangle все сьелось. странно, потому как производить такие манипуляции нужно только в mangle.
Проверьте в конфиге ядра:

CONFIG_IP_NF_MANGLE:
This option adds a `mangle' table to iptables: see the man page for
iptables(8). This table is used for various packet alterations which can effect how the packet is routed.
To compile it as a module, choose M here. If unsure, say N.
Symbol: IP_NF_MANGLE [=y]
Prompt: Packet mangling

grep IP_NF_MANGLE /usr/src/linux/.config

Re: давняя проблема с NAT

Добавлено: 23 окт 2009, 00:10
kr0t
phaoost писал(а):tes+or,
я в первый раз слышу про это правило, весь LARTC насквозь я не читал
достаточно было прочитать man iptables :)
а правило должно выглядеть так:

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

iptables -t mangle -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
А почему правило "должно" выглядеть так? :bigeyes:
Чем таблица filter используемая по умолчанию не угодила? :damn:

Re: давняя проблема с NAT

Добавлено: 23 окт 2009, 11:42
tes+or
оба варианта работают, кажется. вопрос - в чем разница?

Re: давняя проблема с NAT

Добавлено: 23 окт 2009, 12:28
phaoost
Из мана:
TCPMSS
This target allows to alter the MSS value of TCP SYN packets, to control the maximum size for that connection (usually limiting it to your outgoing interface's MTU minus 40 for IPv4 or 60 for IPv6, respectively). Of course, it can only be used in conjunction with -p tcp. It is only valid in the mangle table.
Соответственно, иное поведение не предусмотрено

Re: давняя проблема с NAT

Добавлено: 23 окт 2009, 12:48
tes+or
какбы вот:

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

main ~ # iptables -vn -t filter -L FORWARD
Chain FORWARD (policy ACCEPT 18M packets, 5138M bytes)
 pkts bytes target     prot opt in     out     source               destination
 284K   14M TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
а так не работает:

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

main ~ # iptables -vn -t mangle -L FORWARD
FATAL: Module ip_tables not found.
iptables v1.4.2: can't initialize iptables table `mangle': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
на другой системе работают оба варианта, там вкомпилена поддержка mangle, а тут пока нет

кстати в хелпе на соотвествующую опцию menuconfig указан вариант без -t mangle, почему?