Jump to content
Калькуляторы

странность с iptables если пакет проходит через линуксбокс 2 раза

Коллеги, что то я запутался.

Есть тестовый стенд

 

+---------------------------------------+
|                          +----BR0---+ | 
|        [VirtualMachine1]-tap1------eth2--------[sWITCH opt 82 insertion]-->---+
|                          +----------+ |                                       |
| Server                                |                                       |
|                                    eth1.2001----<-----------------------------+
+---------------------------------------+

 

Cхемка такая собрана для тестирования, и я сталкнулся со следующей проблемой:

Траффик идущий с виртуальной машины никогда не попадает в iptables под правила вида:

 

iptables -t nat -I PREROUTING  --in-interface eth1.2001

 

Вопрос - можно ли каким-то образом поменять данное поведение?

Share this post


Link to post
Share on other sites

выкладывайте ifconfig eth1.2001, а также дамп одного пакета в формате pcap, который вы хотите, чтобы прошёл через цепочку PREROUTING таблицы nat

Share this post


Link to post
Share on other sites

Setting

sysctl net.bridge.bridge-nf-call-iptables=0

to disable passing

bridged packets to netfilter shouldf fix the problem

Решило мою проблему.

 

Когда понял что пакеты обрабатываются на бридже:

Chain PREROUTING (policy ACCEPT 1346 packets, 64320 bytes)
   pkts      bytes target     prot opt in     out     source               destination         
   1346    64320            all  --  *      *       0.0.0.0/0            0.0.0.0/0           
      4      404            all  --  br0    *       0.0.0.0/0            0.0.0.0/0           
      0        0            all  --  eth1.2001 *       0.0.0.0/0            0.0.0.0/0   

Стало ясно куда копать

 

Как всегда пока писал пост - сформулировал проблему четко сам для себя, что помогло ее решить .

Share this post


Link to post
Share on other sites

Как всегда пока писал пост - сформулировал проблему четко сам для себя, что помогло ее решить .

На будущее - если слишком узкое правило не перехватывает пакеты,

пишите широкое с "-j LOG" и смотрите в /var/log/messages характеристики пакетов.

Они иногда бывают неочевидными :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this