Перейти до

linux nat на подсеть


Рекомендованные сообщения

Доброго дня. Подскажите как правильно организуется нат на пул адресов. к примеру есть бордер  внутренний адрес к примеру 97.245.9.1/25
на брасе 97.245.9.2/25, адреса от 3 до 126 повешены на Lo
ip addr add 97.245.9.3/25 dev lo
.

.

.

ip addr add 97.245.9.126/25 dev lo

iptables -t nat -A POSTROUTING -o ens5f0 -m set --match-set allownat_ip src -j SNAT --to-source 97.245.9.2-97.245.9.126 --persistent
пока все вроде так?

а надо ли на брасе заворачивать 97.245.9.0/25 в блэкхол, если надо то почему?

Ссылка на сообщение
Поделиться на других сайтах
1 hour ago, kid79 said:

Доброго дня. Подскажите как правильно организуется нат на пул адресов. к примеру есть бордер  внутренний адрес к примеру 97.245.9.1/25
на брасе 97.245.9.2/25, адреса от 3 до 126 повешены на Lo
ip addr add 97.245.9.3/25 dev lo
.

.

.

ip addr add 97.245.9.126/25 dev lo

iptables -t nat -A POSTROUTING -o ens5f0 -m set --match-set allownat_ip src -j SNAT --to-source 97.245.9.2-97.245.9.126 --persistent
пока все вроде так?

а надо ли на брасе заворачивать 97.245.9.0/25 в блэкхол, если надо то почему?

Kayot неоднократно писал как организовать нат, там Вроде пару строчек. Ищи на форуме

Ссылка на сообщение
Поделиться на других сайтах

может ткнете в тему? а то роюсь по форуму не могу найти. в кратце стоят сетевки интел х-520-da2
echo 33554432 > /sys/module/nf_conntrack/parameters/hashsize
 ethtool -K ens3f1 gro off
 ethtool -K ens3f1 gso off
 ethtool -K ens5f0 gso off
 ethtool -K ens5f0 gro off
 ethtool -G ens3f1 tx 2048
 ethtool -G ens3f1 rx 2048
 ethtool -G ens5f0 rx 2048
 ethtool -G ens5f0 tx 2048
ifconfig ens3f1 txqueuelen 10000
ifconfig ens5f0 txqueuelen 10000
 

в iptables не более 12 правил в input forward 

:INPUT DROP [12753133144:861388552662]
:FORWARD DROP [11699723355:641049085385]
:OUTPUT ACCEPT [5965867352:1117127714868]
-A INPUT -i ens3f1 -m state --state INVALID -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -i ens1f0 -j ACCEPT
-A INPUT -i ens3f1 -j ACCEPT
-A INPUT -i ens5f0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ens5f0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A FORWARD -m ratelimit --ratelimit-set speed_out --ratelimit-mode src -j DROP
-A FORWARD -m ratelimit --ratelimit-set speed_in --ratelimit-mode dst -j DROP
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ens3f1 -o ens5f0 -m set --match-set allow_ip src -j ACCEPT
-A FORWARD -i ens5f0 -o ens3f1 -m set --match-set allow_ip dst -j ACCEPT
-A FORWARD -i ens3f1 -o ens5f0 -m set --match-set allownat_ip src -j ACCEPT
COMMIT
# Completed on Wed Dec 16 11:44:11 2020
# Generated by iptables-save v1.6.0 on Wed Dec 16 11:44:11 2020
*nat
:PREROUTING ACCEPT [182877371:15840148483]
:INPUT ACCEPT [1128577:71796218]
:OUTPUT ACCEPT [13437:805844]
:POSTROUTING ACCEPT [6789844:714945074]

-A POSTROUTING -o ens5f0 -m set --match-set allownat_ip src -j SNAT --to-source 97.245.9.2

белые адреса ходят с notrack 
sysctl.conf

net.ipv4.tcp_max_orphans = 65536
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 1000
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

net.ipv4.conf.ens3f0.proxy_arp = 0
net.netfilter.nf_conntrack_max = 4194304
net.nf_conntrack_max = 4194304

net.netfilter.nf_conntrack_generic_timeout = 120
net.netfilter.nf_conntrack_tcp_timeout_established = 600

perf top особо ничего не выдает

сейчас из за роста цен аренды выделенных ип адресов, пришлось отказаться от 1000 ип и перевести их на серые, резко просела скорость. 

по поводу почему повесил адреса на lo а какая разница где им висеть? если с соседа они все равно будут видны через ip nei sh ?

perf.png

Ссылка на сообщение
Поделиться на других сайтах
2 hours ago, kid79 said:

по поводу почему повесил адреса на lo а какая разница где им висеть? если с соседа они все равно будут видны через ip nei sh ?

 

У вас же NAT? Не маскарад. Зачем вообще их куда-то вешать на хосте? Вам надо только сетку завернуть куда-нибудь, что бы в пинг-понг не играть с провайдером.

  • Like 1
Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, kid79 сказал:
 

iptables -t nat -A POSTROUTING -o ens5f0 -m set --match-set allownat_ip src -j SNAT --to-source 97.245.9.2-97.245.9.126 --persistent

iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j SNAT --to-source 97.245.9.2-97.245.9.126 --persisten

И один айдрес алиасом повесить в 97.245.9.2-97.245.9.126 этом диапазоне на внешний интерфейс, дальше там оспф или че надо крутите для реальных ипов.

Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, kid79 сказал:

net.netfilter.nf_conntrack_max = 4194304

echo 33554432 > /sys/module/nf_conntrack/parameters/hashsize

1. Вот поэтому нагрузка большая, нельзя слепо копировать чьи-то настройки. Размер хеш-таблицы должен быть в 4-8 раз меньше conntrack таблицы.

Да и нужна ли вообще таблица на 4м записей?

2. По поводу адресов - нормальная практика завернуть нужную сеть или список адресов маршрутом на бордере на этот сервер.

Вешать их на lo тоже можно, но смысла никакого + какая-то допнагрузка от бегающих arp'ов и самих интрфейсов/адресов. Это практика из старых книжек по микротику и win-server, в linux такое извращение не нужно.

3. В блекхол НАТ-сеть заворачивать не нужно и не получится, заворачивают туда клиентские сети динамически подключающиеся/исчезающие на терминаторах.

  • Like 1
Ссылка на сообщение
Поделиться на других сайтах

всем спасибо за отклик. 
KaYot отдельно, как всегда по полкам и по делу. с таблицей и хешем конечно психанул, на данный момент количество соединений
conntrack -C
60312
 

Ссылка на сообщение
Поделиться на других сайтах
  • 10 months later...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...