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

Не натится одна подсеть Все остальные натятся, условия одинковые

Добрый вечер. Всплыла такая проблема: одна подсеть не натится, остальные натятся, хотя настройки для них абсолютно идентичны.

Не натится 100.64.1.0/24.

Остальные, например, 100.64.0.0/24 натится. Проблемы только с указанной

Конфиг ната:

#!/bin/bash
iptables -F -t nat
iptables -F -t raw

iptables -t raw -A PREROUTING -d 3.3.3.0/25 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.128/26 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.0/24 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.0/24 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.0/24 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.0/24 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.0/24 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.0/24 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.0/25 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -d 3.3.3.128/26 -i bond0 -j NOTRACK
iptables -t raw -A PREROUTING -s 3.3.0.0/21 -i bond1 -j NOTRACK

sleep 1

sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"

sysctl -w net.netfilter.nf_conntrack_generic_timeout=180
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=1800
sysctl -w net.netfilter.nf_conntrack_max=262144
sysctl -w net.netfilter.nf_conntrack_udp_timeout=10
sysctl -w net.netfilter.nf_conntrack_icmp_timeout=10
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=30
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_syn_sent=30
echo "262144" > /sys/module/nf_conntrack/parameters/hashsize
sleep 1
#ZAPAS----------3.3.3.240-253

iptables -t nat -A POSTROUTING -s 100.64.0.0/27 -o bond0 -j SNAT --to 3.3.3.192
iptables -t nat -A POSTROUTING -s 100.64.0.32/27 -o bond0 -j SNAT --to 3.3.3.193
iptables -t nat -A POSTROUTING -s 100.64.0.64/27 -o bond0 -j SNAT --to 3.3.3.194
iptables -t nat -A POSTROUTING -s 100.64.0.96/27 -o bond0 -j SNAT --to 3.3.3.195
iptables -t nat -A POSTROUTING -s 100.64.0.128/27 -o bond0 -j SNAT --to 3.3.3.196
iptables -t nat -A POSTROUTING -s 100.64.0.160/27 -o bond0 -j SNAT --to 3.3.3.197
iptables -t nat -A POSTROUTING -s 100.64.0.192/27 -o bond0 -j SNAT --to 3.3.3.198
iptables -t nat -A POSTROUTING -s 100.64.0.224/27 -o bond0 -j SNAT --to 3.3.3.199

iptables -t nat -A POSTROUTING -s 100.64.1.0/27 -o bond0 -j SNAT --to 3.3.3.200
iptables -t nat -A POSTROUTING -s 100.64.1.32/27 -o bond0 -j SNAT --to 3.3.3.201
iptables -t nat -A POSTROUTING -s 100.64.1.64/27 -o bond0 -j SNAT --to 3.3.3.202
iptables -t nat -A POSTROUTING -s 100.64.1.96/27 -o bond0 -j SNAT --to 3.3.3.203
iptables -t nat -A POSTROUTING -s 100.64.1.128/27 -o bond0 -j SNAT --to 3.3.3.204
iptables -t nat -A POSTROUTING -s 100.64.1.160/27 -o bond0 -j SNAT --to 3.3.3.205
iptables -t nat -A POSTROUTING -s 100.64.1.192/27 -o bond0 -j SNAT --to 3.3.3.206
iptables -t nat -A POSTROUTING -s 100.64.1.224/27 -o bond0 -j SNAT --to 3.3.3.207

Счетчики

root@nat:~/scripts# iptables -L -v --line-numbers -t nat
Chain PREROUTING (policy ACCEPT 839K packets, 65M bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 271K packets, 21M bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1    33327 2758K SNAT       all  --  any    bond0   100.64.0.0/27        anywhere            to:3.3.3.192 
2    33718 2561K SNAT       all  --  any    bond0   100.64.0.32/27       anywhere            to:3.3.3.193 
3     9636  610K SNAT       all  --  any    bond0   100.64.0.64/27       anywhere            to:3.3.3.194 
4    17968 1468K SNAT       all  --  any    bond0   100.64.0.96/27       anywhere            to:3.3.3.195 
5    15061 1149K SNAT       all  --  any    bond0   100.64.0.128/27      anywhere            to:3.3.3.196 
6    27512 1918K SNAT       all  --  any    bond0   100.64.0.160/27      anywhere            to:3.3.3.197 
7    27818 2667K SNAT       all  --  any    bond0   100.64.0.192/27      anywhere            to:3.3.3.198 
8    22301 1820K SNAT       all  --  any    bond0   100.64.0.224/27      anywhere            to:3.3.3.199 
9     3120  174K SNAT       all  --  any    bond0   100.64.1.0/27        anywhere            to:3.3.3.200 
10    3871  225K SNAT       all  --  any    bond0   100.64.1.32/27       anywhere            to:3.3.3.201 
11    1981  124K SNAT       all  --  any    bond0   100.64.1.64/27       anywhere            to:3.3.3.202 
12       0     0 SNAT       all  --  any    bond0   100.64.1.96/27       anywhere            to:3.3.3.203

Проверяю командой hping3 --spoof 100.64.1.64 <OUTSIDE-IP>, т.е. пингую себя, находясь в другом городе; пингую с тестовой машины в сети провайдера. Мой домашник микротик в TORCH показывает Ip 100.64.1.64 вместо 3.3.3.202. Да и абоненты из сети 100.64.1.0/24 жалуются.

 

Ума не приложу где копать, конфиги перезаливал, модули перезагрузил.

Linux nat 2.6.32-5-amd64 #1 SMP Tue Jun 14 09:42:28 UTC 2011 x86_64 GNU/Linux

 

P.S. Проблема решена и была не в нате - кто-то по BGP анонсировал маршрут 100.64.1.0/24. По стечению обстоятельств натим мы пока на бордере, поэтому вышел такой косяк.

Edited by infery

Share this post


Link to post
Share on other sites

Это очень странно.

100.64.1.0/24 никогда не анонсировалась в мире.

И вообще, 100.64.0.0/10 зарезервирована для сервис-провайдеров. Грубо говоря, для роутинга других серых сетей в сети провайдера.

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