Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

8 страниц V   1 2 ... 6 7 »

iptables, сеть и снова стрельба в CS

, Влияние iptables на сервер CS
Статус пользователя ravenyd123
сообщение 26.10.2011, 22:09
Сообщение #1


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Снова поднимаю тему о плохой стрельбе на сервере. Но в этот раз под прицел попадает локальная сеть и настройки маршрутизации.
И так, вот набросал быстренько тот узел, который меня больше всего волнует:




Сервер 1:

P-341 3,4 Ггц, 2 Гига ОЗУ
Ubuntu 10.04 десктопная, ядро не трогал.
Нужна именно десктопная ....для гостей и семьи )))))
Стоят 2 сетевухи. Одна (85.113.37.77) смотрит в инет через PPPoE, другая(192.168.66.100) воткнута в свитч и смотрит в локальную сеть.
Стоит на нем веб-сервер с 3 сайтами и настроен iptables:
- раздача интернета в локальную сеть
- проброс портов с внешки 27015...27022 на Сервер 2.
Скорость интернета днем 24 мбит/c, ночью 80 мбит/c.

Правила iptables по пробросу портов и раздачи интернета:

Цитата
iptables -A FORWARD -i eth0 -o eth1 -s 192.168.66.00/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -o ppp0 -A POSTROUTING -j MASQUERADE
sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27015 -j DNAT --to-destination 192.168.66.101:27015
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27015 -j DNAT --to-destination 192.168.66.101:27015
iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27016 -j DNAT --to-destination 192.168.66.101:27016
iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27017 -j DNAT --to-destination 192.168.66.101:27017
iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27018 -j DNAT --to-destination 192.168.66.101:27018
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27016 -j DNAT --to-destination 192.168.66.101:27016
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27017 -j DNAT --to-destination 192.168.66.101:27017
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27018 -j DNAT --to-destination 192.168.66.101:27018
iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27022 -j DNAT --to-destination 192.168.66.101:27022
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27022 -j DNAT --to-destination 192.168.66.101:27022
iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27019 -j DNAT --to-destination 192.168.66.101:27019
iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27020 -j DNAT --to-destination 192.168.66.101:27020
iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27021 -j DNAT --to-destination 192.168.66.101:27021
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27019 -j DNAT --to-destination 192.168.66.101:27019
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27020 -j DNAT --to-destination 192.168.66.101:27020
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27021 -j DNAT --to-destination 192.168.66.101:27021

iptables -t nat -s 192.168.66.0/24 -d 192.168.66.0/24 -o eth0 -A POSTROUTING -j MASQUERADE


eth0 - смотрит в локальную сеть (192.168.66.100)
eth1 - смотрит во внешку (PPPoE - 85.113.37.77)

Сервер 2:

Core 2 Duo E8400 3Ггц, 2 гига ОЗУ
CentOS 6 Server. Ядро пересобранно с 1000hz и др.
Стоят только сервера CS 1.6
Подключен к свитчу.


На втором сервере я заметил, что при включенном iptables на сервере происходят какие-то непонятки, а именно будто в игре ФПС упала раза в 2. Все движется, будто у меня в настройках видеокарты или монитора стоит 50-60 fps. Да и на стрельбу такое тоже сказывается не лучшим образом. Стоит только отключить Iptables, как сразу на сервере все становится лучше: движение плавные, без дерганий. Картинка плавно и ровно движется по экрану.
Так вот, почему так?

Но это не самое главное. Проблема со стрельбой осталась и после этого, хоть стало и получше, чем было, но все равно остаются непонятные задержки, когда приходиться стрелять позади движущегося врага, чтобы попасть в него. Да и зажим вообще не зажим, а недоразумение. Пинг вроде нормальный (3-6), нагрузка на 1 ядро не выше 30%. А обычно 12%-18%.

Если учесть, что я в поисках причины плохой стрельбы, уже менял мать, проц, память, сетевую карту. Так же испробовал разные ОСи: win2003 server, XP sp2, XP sp3, Ubuntu, Gentoo, CentOS. Пересобирал КС сервера, менял плагины.....и все равно стрельба в опе. Вот по этой причине и поднял тему про маршрутизацию.
Может что где в правилах я не так сделал? Может плохая стрельба из-за маршрутизации на первом сервере? И почему включенный iptables на втором сервере так влияет на CS сервера?

Help me )

Отредактировал: ravenyd123, - 7.11.2011, 1:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
cs-portal
сообщение 26.10.2011, 22:27
Сообщение #2
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

потери пакетов есть?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Katactrofa
сообщение 26.10.2011, 22:28
Сообщение #3


Стаж: 16 лет

Сообщений: 642
Благодарностей: 235
Полезность: 259

купи роутер :biggrin:
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 26.10.2011, 22:49
Сообщение #4


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

первая строка - зачем тебе это надо? по сути ты сам себя проверяешь, и защищаешь Интернет от своих атак. зачем тебе это надо? я бы мог бы понять, если бы было наоборот. ну да ладно, это правило трафик кс не трогает вообще никак. впрочем как и второе, только уже в нужную сторону.

маскарад жрёт больше чем snat/dnat, но тачка у тебя там вроде нормальная, что бы с этим справляться... хотя смотря сколько у тебя там подключений. пробовал допустим запустить только один сервер кс и смотреть, что происходит?
Но ты для начала определись, тебе этот

далее месево конечно идёт.
1. зачем столько правил? можно объеденить всё в одно, используй мультипорт.
2. -d 85.113.37.77 - убери это. у тебя на машине один (?) адрес, зачем лишнюю проверку включать?
3. далее правила такого вида:
Код
iptables -t nat -A OUTPUT --dst 85.113.37.77 -p udp --dport 27015 -j DNAT --to-destination 192.168.66.101:27015

что это вообще такое? это если твой шлюз будет конектиться сам к себе, ты его в локалку заворачиваешь?.. ты на шлюзе играешь? если не играешь, то оно и не используется никогда, но проверка лишняя делается для исходящего трафика со шлюза. если играешь - конектись в локальную сеть.
4.
честно говоря ставив цифру "4." я уже думал, что кометировать больше нечего. но нет:
Код
iptables -t nat -s 192.168.66.0/24 -d 192.168.66.0/24 -o eth0 -A POSTROUTING -j MASQUERADE
что это ещё такое? тоже мусор. если у тебя хаб, то пакеты дойдут, но правила не пройдут, их физический уровень маршрутизации отбросит, если свич, то пакеты до сервера не дойдут. Когда фрэйм с данными прилетит на коммутатор, он разошлёт эхо запросы во все интерфейсы, кроме того, откуда пришли данные, и отправит только в тот порт, откуда придёт подтверждение, что там нужный мак адрес найден. опять же физическая маршрутизация.


вообще сноси всё это не загружай свой шлюз всякой лажей.

из полезного у тебя только это:
Код
sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

iptables -t nat -o ppp0 -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -p udp -m multiport --dport 27015:27021 -j DNAT --to-destination 192.168.66.101:27015-27021
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT


должно работать. хотя не обещаю. если что - пиши, я постараюсь помочь.

PS:
1. я бы заменил маскарад на snat и dnat в соответствующие стороны. если конектов много, то это тоже повлияет.
2. и конечно 6 забитых серваков наверняка дают хорошую нагрузку машину с к2д и 2гб озу. наверное тут если не одно из узких мест, то дело близится к этому.
3. проверь кол-во разрешённых подключений. может одна из машин создаёт узкое место.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ravenyd123
сообщение 26.10.2011, 22:57
Сообщение #5


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Цитата(cs-portal @ 26.10.2011, 22:27) *
потери пакетов есть?

нет

Цитата
первая строка - зачем тебе это надо? по сути ты сам себя проверяешь, и защищаешь Интернет от своих атак. зачем тебе это надо? я бы мог бы понять, если бы было наоборот. ну да ладно, это правило трафик кс не трогает вообще никак. впрочем как и второе, только уже в нужную сторону.


Да я там с одим гуру в ubuntu.ru создавали эти правило. Точнее фактически он создавал, а я лишь пытался понять их )))

Цитата
1. зачем столько правил? можно объеденить всё в одно, используй мультипорт.

По подробней...

Цитата
2. -d 85.113.37.77 - убери это. у тебя на машине один (?) адрес, зачем лишнюю проверку включать?

Два интерфейса......или ты про внешку с одни ip ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 26.10.2011, 22:58
Сообщение #6


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

ravenyd123, ну надо было просто почитать документацию, если не всю, то хотя бы по интересующим тебя функциям.

PS: если чё, я поправил свой вариант проброса портов. я там вконце диапазон не дописал. (он именно через "-" пишется)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ravenyd123
сообщение 26.10.2011, 22:59
Сообщение #7


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Цитата
вообще сноси всё это не загружай свой шлюз всякой лажей.

из полезного у тебя только это:
Код
sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

iptables -t nat -o ppp0 -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -p udp -m multiport --dport 27015:27021 -j DNAT --to-destination 192.168.66.101:27015-27021
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT


По существу именно только этого хватит на раздачу интернет а и проброс портов для КС на другой комп?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 26.10.2011, 23:02
Сообщение #8


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

Цитата(ravenyd123 @ 27.10.2011, 0:57) *
По подробней...


Два интерфейса......или ты про внешку с одни ip ?


я ниже написал вариант, который нужно попробовать. скорее всего он заработает ;)


у тебя два внешних адреса и тебе нужно, что бы конекты только на конкретный, один из них, приводил к связи с сервером? ну тогда добавь.

Цитата(ravenyd123 @ 27.10.2011, 0:59) *
По существу именно только этого хватит на раздачу интернет а и проброс портов для КС на другой комп?

да) этого хватит, что бы записать весь твой конфиг правильно)

а так вообще и сервера защитить ещё нужно, и трафик по цепочкам раскидать, для удобства управления. и всё такое...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ravenyd123
сообщение 26.10.2011, 23:03
Сообщение #9


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Цитата(Katactrofa @ 26.10.2011, 22:28) *
купи роутер :biggrin:

И вот я тоже думаю. Что все же лучше, иметь комп с Линуксом и настроенной маршрутизацией или обычный роутер? При условии, что канал 24-80 мбит/c использует 7-8 компов для скачки, просмотра фильмов онлайн и прочее...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя c0rax
сообщение 26.10.2011, 23:05
Сообщение #10


Стаж: 18 лет

Сообщений: 1077
Благодарностей: 530
Полезность: 884

Цитата(ravenyd123 @ 27.10.2011, 0:03) *
И вот я тоже думаю. Что все же лучше, иметь комп с Линуксом и настроенной маршрутизацией или обычный роутер? При условии, что канал 24-80 мбит/c использует 7-8 компов для скачки, просмотра фильмов онлайн и прочее...

Тазик больше нагрузки при любых выдерживать больше будет чем недороутер
Но правда если и роутер не из дешевых брать...то и им обойтись можно...

Отредактировал: c0rax, - 26.10.2011, 23:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 26.10.2011, 23:06
Сообщение #11


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

ravenyd123, если у тебя там pppoe, то дешёвый роутер, типа dlink300-320 или что нибудь из asus, тебя с головой устроит! с pptp сложнее - он тяжёлый и роутер даже весь канал не потянет - скорость будет ниже.

а так да, роутер лучше! и энергии жрёт меньше, и управляется проще, и места занимает совсем чуть чуть, и не гудит, и т.д...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ravenyd123
сообщение 26.10.2011, 23:24
Сообщение #12


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Переписал правила. Интернет есть, КС сервера из интернета видны, народ заходит. Только у меня по внешнему IP они не видны, да это и не столь важно )

Хммм......что-то DNS не то 0_0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Katactrofa
сообщение 26.10.2011, 23:30
Сообщение #13


Стаж: 16 лет

Сообщений: 642
Благодарностей: 235
Полезность: 259

Цитата(ravenyd123 @ 27.10.2011, 0:03) *
И вот я тоже думаю. Что все же лучше, иметь комп с Линуксом и настроенной маршрутизацией или обычный роутер? При условии, что канал 24-80 мбит/c использует 7-8 компов для скачки, просмотра фильмов онлайн и прочее...

Намудохавшись с iptables и гудящей банкой в кладовке которая жрет электричество и впитывает пыль тоннами :biggrin: Роутер решил все проблемы, у мну в локалке 3 компа+ ноут по wi-fi. Канал по wan pppoe 40мбит. Все нарм и торенты и онлайн кина, радио и т.п.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ravenyd123
сообщение 26.10.2011, 23:34
Сообщение #14


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Пингую mail.ru с сервера, где стоят CS сервера


Пингую этот же mail.ru со своего компа:


Видно, что пинг у моего компа как-то...подскакивает
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
The Asmodai
сообщение 26.10.2011, 23:34
Сообщение #15
Стаж: 14 лет

Сообщений: 271
Благодарности: выкл.

Я длинк даже для вайфая на телефон не посоветую) У меня дома линксис wrt160nl, там 400мгц. Присутствие роутера в цепочке вообще незаметно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ravenyd123
сообщение 26.10.2011, 23:36
Сообщение #16


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Цитата
2. и конечно 6 забитых серваков наверняка дают хорошую нагрузку машину


Нее...в последний год они у меня не бывают забитами. Максимум только на одном доходит до 30 вечерами. А так, на остальных выше 12 - редко.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 27.10.2011, 12:35
Сообщение #17


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

ravenyd123, смотри на свой свитч. мб там колизии наблюдаются. вообще воткни комп напрямую в шлюз и пингуй... если показатели пинга не изменяются, то дело в свиче.
да и вообще кто на мэйл.ру проверяет связь. проверяй на ya.ru или на www.ru, там днс выдаёт тоьлко один адрес... а так пинговать разные адреса и смотреть разницу - ну никакого толка.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ravenyd123
сообщение 27.10.2011, 18:23
Сообщение #18


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Цитата(bravo @ 27.10.2011, 13:35) *
ravenyd123, смотри на свой свитч. мб там колизии наблюдаются. вообще воткни комп напрямую в шлюз и пингуй... если показатели пинга не изменяются, то дело в свиче.
да и вообще кто на мэйл.ру проверяет связь. проверяй на ya.ru или на www.ru, там днс выдаёт тоьлко один адрес... а так пинговать разные адреса и смотреть разницу - ну никакого толка.


Проверил сейчас. От моего компа в сторону обоих серверов и инета пинг подскакивает.
Два те сервера между собой нормально пингуются и с инетом у них проблем нету. Значит где-то что-то не так от моего компа до свитча, включительно.

Ближе к теме. Народ сегодня побегал на серверах, говорят, что вообще ничего не изменилось. Как было до этого так все и осталось (((((

Что еще может быть?

На всякий случай свитч все-таки сменю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 28.10.2011, 9:48
Сообщение #19


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

ravenyd123, только не покупай фуфло всякое типа нетгиров, тренднетов и т.п.


и таки дай посмотреть на результаты пингов внутри локалки. от клиентов локалки до шлюза.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ravenyd123
сообщение 28.10.2011, 10:49
Сообщение #20


Стаж: 15 лет

Сообщений: 728
Благодарностей: 57
Полезность: 119

Ну, шлюз у меня 192.168.66.100

Сейчас нету скачков никаких и нигде shok.gif

пинг <1 сейчас с моего компа

Вот с КС сервера:
Цитата
PING 192.168.66.100 (192.168.66.100) 56(84) bytes of data.
64 bytes from 192.168.66.100: icmp_seq=1 ttl=64 time=0.094 ms
64 bytes from 192.168.66.100: icmp_seq=2 ttl=64 time=0.080 ms
64 bytes from 192.168.66.100: icmp_seq=3 ttl=64 time=0.080 ms
64 bytes from 192.168.66.100: icmp_seq=4 ttl=64 time=0.082 ms
64 bytes from 192.168.66.100: icmp_seq=5 ttl=64 time=0.194 ms
64 bytes from 192.168.66.100: icmp_seq=6 ttl=64 time=0.080 ms
64 bytes from 192.168.66.100: icmp_seq=7 ttl=64 time=0.089 ms
64 bytes from 192.168.66.100: icmp_seq=8 ttl=64 time=0.083 ms
64 bytes from 192.168.66.100: icmp_seq=9 ttl=64 time=0.081 ms





ХМм...вечером у меня начинает скакать. НА кс сервера пинг остается такойже без скачков. На других тачках не смотрел, да и не суть важно - они там за вай-файем сидят.

Но даже сейчас так, стрельба ГЭ. Ощущается некая задержка между картинкой на экране и тем, что на самом деле происходит.

ВОт вчера вечером пинговал я 66.100 со своего компа, у меня там пинг прыгал 1-4, иногда доходил до 8-20. Но что сейчас, что тогда никаких изменений я не заметил.

Есть ли разница в стрельбе, что стандартный metamod, что metamod-32p ?

Я так сейчас прикинул человек онлайн-нагрузка CPU. Получается, что вообще максимум железо выдержит порядка чуть более 180 игроков. И это на E8400.
А на практике у меня максимум бывает лишь 58 игроков, и то не всегда.
Я помню когда у меня на 1 игрока шло 2% CPU, сейчас же 1 игрок = 1% CPU.

Фантазии :)

Сервер КС настроен на updaterate 101. НУ вот представим нечто такое, что фильтрует пакеты. Предположим настройки iptables или просто гнилое железко, которое пропускает только каждый 2-й пакет. Т.е. физически получается, что 50 пакетов в секунду. Тогда из-за этого что будет, 50 loss или 50 choke? Те пакеты, что не дошли, сервер снова не опрашивает у клиента?

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
8 страниц V   1 2 ... 6 7 »
 
Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: