По некоторым причинам наш интернет-провайдер имеет ограничение на количество одновременно открытых соединений между машинами, размещенными в нашей частной сети, и Интернетом, которое составляет около 4000 одновременных соединений. (Для получения более подробной информации, их ограничение связано с количеством сеансов NAT, разрешенных одновременно).
У нас нет доступа к маршрутизатору интернет-провайдера, ни от статуса этого ограничения или того, насколько мы близки к максимальному пределу, но когда предел достигнут, в основном внутренние машины имеюточень медленноДоступ в Интернет (если он вообще работает) и нам приходится тратить часы на горячую линию провайдера, чтобы убедить их повторно инициализировать таблицу.
Я хотел бы установить такое же ограничение, но на нашей стороне, чтобы мы могли следить за развитием событий, установить меньшие ограничения, чтобы нам больше не приходилось им звонить, и, надеюсь, сохранить бесперебойную связь для всех.
У меня под рукой есть машина Linux, настроенная как мост (с 2 сетевыми интерфейсами) и/или маршрутизатор RouterOS 6, расположенный между нашей внутренней частной сетью и маршрутизатором, предоставленным нашим интернет-провайдером (оба варианта необязательны, я просто пытался понять, что будет удобнее настроить за имеющееся у меня время):
INTERNET
^
|
|
+-------+------+
| Cisco Router |
+-------+------+
|
|
|
+-----+----+
| RouterOS |
+-----+----+
|
|
|
+-------+------+
| Linux Bridge |
+-------+------+
+------------+----^ ^ ^-----+-------------+
| | | | |
+---+---+ +----+--+ +---+---+ +--+----+ +----+--+
| Clt 1 | | Clt 2 | | Clt 3 | | Clt 4 | | Clt 5 |
+-------+ +-------+ +-------+ +-------+ +-------+
(на данный момент у нас более 60 «клиентов», среди которых компьютеры, IP-телефоны, серверы, виртуальные машины и т. д.)
Легко найти документацию о том, как ограничить пропускную способность трафика или соединений на сервере с помощью iptables
илиtc
но я не могу найти много информации об этомколичество одновременных подключенийНасколько я понимаю, это позволит взять под контроль систему conntrack
моста или нашего внутреннего маршрутизатора и запретить новые соединения, если мы достигнем пределов, но я не могу найти никакой информации о том, как это сделать.
Мне было бы интересно получить некоторые указания по решению для Linux, которое я мог бы попытаться преобразовать в RouterOS, поскольку оно может быть более применимо к другим конфигурациям.
Для получения дополнительной информации:
- внутренняя сеть находится в подсети 192.168.101.0/24
- и мост, и маршрутизатор RouterOS имеют IP-адрес из этой подсети
- маршрутизатор интернет-провайдера использует DHCP-сервер, а его частный IP-адрес (192.168.101.254) настроен как маршрут по умолчанию к Интернету
- единственное, что мы можем сделать с маршрутизатором интернет-провайдера, это перезагрузить его и переставить сетевые кабели :)