iptables, сеть и снова стрельба в CS, Влияние iptables на сервер CS |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
iptables, сеть и снова стрельба в CS, Влияние iptables на сервер CS |
ravenyd123
|
29.11.2011, 23:57
Сообщение
|
![]() |
|
|
|
|
cs-portal
|
3.12.2011, 16:22
Сообщение
|
|
|
|
|
|
|
ravenyd123
|
6.12.2011, 18:41
Сообщение
|
![]() |
Правильно настроил проброс портов?
Цитата iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 -m multiport --dport 27015:27700 -j DNAT --to-destination 192.168.66.101:27015-27700
iptables -t nat -A POSTROUTING -p udp --dst 192.168.66.101 -m multiport --dport 27015:27700 -j SNAT --to-source 85.113.37.77:27015-27700 |
|
|
|
ravenyd123
|
6.12.2011, 18:58
Сообщение
|
![]() |
Кстати, я наверное раньше не замечал, но у меня в логах такое:
dmesg [ 2759.420433] UDP: bad checksum. From 91.218.128.10:26211 to 85.113.37.77:20263 ulen 38 [ 2875.566466] UDP: bad checksum. From 91.218.128.10:26211 to 85.113.37.77:20263 ulen 38 [ 2878.553705] UDP: bad checksum. From 91.218.128.10:26211 to 85.113.37.77:20263 ulen 38 [ 3370.266098] UDP: bad checksum. From 178.216.185.136:59780 to 85.113.37.77:103 7 ulen 28 [ 3373.283275] UDP: bad checksum. From 178.216.185.136:59780 to 85.113.37.77:103 7 ulen 28 [ 3466.291362] UDP: bad checksum. From 178.216.185.136:59780 to 85.113.37.77:103 8 ulen 28 [ 3469.280512] UDP: bad checksum. From 178.216.185.136:59780 to 85.113.37.77:103 8 ulen 28 [ 3740.329799] UDP: bad checksum. From 178.216.185.136:59780 to 85.113.37.77:103 8 ulen 28 [ 3743.336335] UDP: bad checksum. From 178.216.185.136:59780 to 85.113.37.77:103 8 ulen 28 [ 6817.095356] atl1c 0000:02:00.0: atl1c: eth4 NIC Link is Down [ 7288.837441] atl1c 0000:02:00.0: atl1c: eth4 NIC Link is Up<100 Mbps Full Dupl ex> [11079.581634] UDP: bad checksum. From 178.216.185.87:59780 to 85.113.37.77:1040 ulen 28 [11079.686856] UDP: bad checksum. From 178.216.185.87:59780 to 85.113.37.77:1040 ulen 28 [11082.792387] UDP: bad checksum. From 178.216.185.87:59780 to 85.113.37.77:1040 ulen 28 [11082.893491] UDP: bad checksum. From 178.216.185.87:59780 to 85.113.37.77:1040 ulen 28 [11082.897660] UDP: bad checksum. From 178.216.185.87:59780 to 85.113.37.77:1040 ulen 28 [11083.125692] UDP: bad checksum. From 178.216.185.87:59780 to 85.113.37.77:1040 ulen 28 [14217.936862] UDP: bad checksum. From 61.7.145.133:52319 to 85.113.37.77:20263 ulen 38 |
|
|
|
ravenyd123
|
16.12.2011, 16:51
Сообщение
|
![]() |
Долго возился и экспериментировал. Пришел к выводу, что сервер КС далеко не все пакеты обрабатывает. Точнее, либо не все пакеты от клиента доходят до КС сервера, либо не все пакеты доходят от КС сервера к клиенту.
Дело еще в том, что идет раздача интернета в локальную сеть на 7 машин и проброс портов на 3 КС сервера. (сейчас работает только 1 КС сервер) Цитата iptables -F iptables -t nat -F iptables -t mangle -F 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 POSTROUTING -p udp --dst 192.168.66.101 --dport 27015 -j SNAT --to-source 85.113.37.77 iptables -t nat -A PREROUTING -p udp -d 85.113.37.77 --dport 27677 -j DNAT --to-destination 192.168.66.101:27677 iptables -t nat -A POSTROUTING -p udp --dst 192.168.66.101 --dport 27677 -j SNAT --to-source 85.113.37.77 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 POSTROUTING -p udp --dst 192.168.66.101 --dport 27016 -j SNAT --to-source 85.113.37.77 sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" iptables -t nat -o ppp0 -A POSTROUTING -j MASQUERADE iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT И вот тут. Если я убираю правила по раздаче интернета в локалку (последние 2 строки), то становится все лучше в КС. Можно было бы судить, что народ в локалке качает и забивает весь канал, но у меня интернет в 40 мбит и нагрузка от скачек не превышает 8мбит. Запас для полноценной передачи пакетов туда-сюда для КС еще хватает. Я в Iptables не очень хорошо понимаю, но мне кажется, что проблема в этих правилах. Какие-то пакеты для КС сервера уходят не туда совсем. Или наоборот, то, что идет в локалку каким-то образом передается в КС сервер, "замусоривая" тем самым и так ограничение в 101 пакет для 1 клиента. Стоит еще отметить, что дает мощное влияние квар sv_maxupdaterate 10000, который увеличивает шансы попадания в противника в несколько раз. Если раньше сложно было убить противника, ибо не каждый выстрел сервер засчитывал, то с таким кваром сервер начинает засчитывать все выстрелы, но зато появляется огромная задержка. Задержка по картинке. То что на мониторе отображается - оно опаздывает от настоящего того, что происходит на сервере. Поэтому. если враг движется, то в него очень сложно попасть. Так же на эту задержку и засчитывание выстрелов влияет квар sv_minrate. Отсюда вывод: какая-то херня происходит с передачей пакетов, раз на саму стрельбу так сильно влияют updaterate и rate больше, чем sys_ticrate. Жду помощи гуру. С этой проблемой вожусь уже больше года. Пожалуйста, посмотрите на правила iptables, и если ничего такого не увидели, то хотя бы подскажите что и куда дальше копать ? Что это вообще может быть еще? Заранее спасибо за помощь и потраченное время на меня |
|
|
|
c0rax
|
17.12.2011, 0:48
Сообщение
|
![]() |
Долго возился и экспериментировал. Пришел к выводу, что сервер КС далеко не все пакеты обрабатывает. Точнее, либо не все пакеты от клиента доходят до КС сервера, либо не все пакеты доходят от КС сервера к клиенту. Он и не обязан/не должен принимать все пакеты, так как использует протокол UDP А UDP - это: Цитата В отличие от TCP, UDP не подтверждает доставку данных, не заботится о корректном порядке доставки и не делает повторов. Поэтому аббревиатуру UDP иногда расшифровывают как Unreliable Datagram Protocol (протокол ненадёжных датаграмм).
|
|
|
|
ravenyd123
|
17.12.2011, 9:19
Сообщение
|
![]() |
А в среднем какой процент может быть не обработан при условии пинга 3-8 ?
зы: а так по правилам iptables все верно прописано? |
|
|
|
330863
|
17.12.2011, 9:50
Сообщение
|
![]() |
ravenyd123,
я могу лишь одно посоветовать тебе, поставь сервер на котором стойт сервер кс прямо подключённым к провайдеру, а от него тяни роутер, и уже дальше остальное жезело если оно есть и если я правельно понял что такая схема небыла использована..... я сам сижу по такой схеме но ошушаю часто задержки и провалы, но пойграв с интернет клуба сразу ошушаю что это не с дома играю, так как задержка пропадает... в задержке я не подразумеваю пинг |
|
|
|
ravenyd123
|
17.12.2011, 21:02
Сообщение
|
![]() |
Хмм....я тебя понял. А как это объяснить можно?
Я вот вчера на этом же сервере заценил стрельбу с ботами. Играл один против ботов, так стрельба была просто на высоте. такой стрельбы я еще никогда не видел. убивал в голову по 1 пульке.......ну да ладно, это боты. Притом сервер кушал проц намного сильнее, чем если бы при таком количестве были люди. порой нагрузка доходила до 70% при 16 ботах. Вот я хочу такую же стрельбу с людьми. Притом в основном у меня игроки с пингом не более 10....фактически как лан. А так я КС сервер уже несколько раз подключал напрямую к интернету....в принципе разницы никакой не почувствовал. |
|
|
|
330863
|
17.12.2011, 22:47
Сообщение
|
![]() |
ravenyd123,
интернет подключи к самому мошному компу из дома, на него суёшь сервер, и ставишь вторую сетевуху, дальше от второй сетевухи к роутеру, а от него уже остальное железо и всё |
|
|
|
ravenyd123
|
17.12.2011, 23:10
Сообщение
|
![]() |
А до роутера инет пускать посредством NAT с первой сетевухи на вторую ?
Кстати, погонял сейчас iperf. Друг в инете ..... инет - маршрутизатор - КС сервер Специально пробросил UDP порты. При передаче трафика с инета на КС сервер (через маршрутизатор) при любых скоростях (1-100мбит) получается порядка 0.5% - 0.1% потерянных пакетов В обратном же направлении с КС сервера через маршрутизатор в инет к другу появляется ошибок намного больше и это зависит от скорости. При 100мбит за 20 сек теста 17%-18% при 10 мбит около 10% При 1 мбит 1%-2% Хотя в обратном направлении при любых скоростях показывает меньше 0.5%
Отредактировал: ravenyd123, - 17.12.2011, 22:59
|
|
|
|
ravenyd123
|
18.12.2011, 0:38
Сообщение
|
![]() |
Вот набросал быстренько
Внутри более-менее еще терпимо, а вот с инета если лить трафик на КС сервер. то там иногда доходит и до 58%. Но в основном держится 7-24% ravenyd123, интернет подключи к самому мошному компу из дома, на него суёшь сервер, и ставишь вторую сетевуху, дальше от второй сетевухи к роутеру, а от него уже остальное железо и всё В принципе, легче будет прям на компе, который к инету подключен, организовать маршрутизацию... Туда же веб сервер запихнуть или сделать проброс 80 порта с внешки на комп с веб-сервером. Даже не знаю... Но по существу очень интересно почему так сейчас происходит. Либо чтото не пропускает, либо что-то пропускает "чужое" не туда и забивает канал. лог i------------------------------------------------------------ Server listening on UDP port 27016 Receiving 1470 byte datagrams UDP buffer size: 8.00 KByte (default) ------------------------------------------------------------ ------------------------------------------------------------ Client connecting to 85.113.37.77, UDP port 27016 Sending 1470 byte datagrams UDP buffer size: 8.00 KByte (default) ------------------------------------------------------------ [136] local 109.194.109.24 port 56667 connected with 85.113.37.77 port 27016 [ ID] Interval Transfer Bandwidth [136] 0.0-20.0 sec 87.2 MBytes 36.6 Mbits/sec [136] Server Report: [136] 0.0-20.2 sec 39.9 MBytes 16.5 Mbits/sec 0.376 ms 33731/62184 (54%) [136] Sent 62184 datagrams [128] local 109.194.109.24 port 27016 connected with 85.113.37.77 port 2845 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [128] 0.0-80.3 sec 452 MBytes 47.3 Mbits/sec 13.939 ms 196089/518554 (38%) [128] 0.0-80.3 sec 270 datagrams received out-of-order Добавлено через 2 минуты Это если лить трафик из инета на комп КС сервера по UDP Добавлено через 53 секунды Из 87.2 мегабайт 39.9 мегов дошло
Прикрепленные файлы:
|
|
|
|
c0rax
|
18.12.2011, 1:42
Сообщение
|
![]() |
коллизии на сетевом оборудовании?
Отредактировал: c0rax, - 18.12.2011, 1:42
|
|
|
|
330863
|
18.12.2011, 8:39
Сообщение
|
![]() |
Вот набросал быстренько Внутри более-менее еще терпимо, а вот с инета если лить трафик на КС сервер. то там иногда доходит и до 58%. Но в основном держится 7-24% В принципе, легче будет прям на компе, который к инету подключен, организовать маршрутизацию... Туда же веб сервер запихнуть или сделать проброс 80 порта с внешки на комп с веб-сервером. Даже не знаю... Но по существу очень интересно почему так сейчас происходит. Либо чтото не пропускает, либо что-то пропускает "чужое" не туда и забивает канал. лог i------------------------------------------------------------ Server listening on UDP port 27016 Receiving 1470 byte datagrams UDP buffer size: 8.00 KByte (default) ------------------------------------------------------------ ------------------------------------------------------------ Client connecting to 85.113.37.77, UDP port 27016 Sending 1470 byte datagrams UDP buffer size: 8.00 KByte (default) ------------------------------------------------------------ [136] local 109.194.109.24 port 56667 connected with 85.113.37.77 port 27016 [ ID] Interval Transfer Bandwidth [136] 0.0-20.0 sec 87.2 MBytes 36.6 Mbits/sec [136] Server Report: [136] 0.0-20.2 sec 39.9 MBytes 16.5 Mbits/sec 0.376 ms 33731/62184 (54%) [136] Sent 62184 datagrams [128] local 109.194.109.24 port 27016 connected with 85.113.37.77 port 2845 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [128] 0.0-80.3 sec 452 MBytes 47.3 Mbits/sec 13.939 ms 196089/518554 (38%) [128] 0.0-80.3 sec 270 datagrams received out-of-order Добавлено через 2 минуты Это если лить трафик из инета на комп КС сервера по UDP Добавлено через 53 секунды Из 87.2 мегабайт 39.9 мегов дошло я не пойму почему ты не делаешь как я посоветовал... кстате как у тебя устроено интернет подключение ? |
|
|
|
ravenyd123
|
18.12.2011, 9:58
Сообщение
|
![]() |
я не пойму почему ты не делаешь как я посоветовал... кстате как у тебя устроено интернет подключение ? С этим некоторые проблемы сейчас. Сегодня может так включу, как советовал, посмотрим что будет. Интернет по витухе втыкается в сетевуху по PPPoE и через iptables раздается дальше в сеть. коллизии на сетевом оборудовании? Не знаю. Сетевухи менял, свитч менял, кабели менял. |
|
|
|
330863
|
18.12.2011, 10:39
Сообщение
|
![]() |
ravenyd123,
мм тебе неповезло, у меня идёт напрямую UTP кабель от счита где стойт свитч :) ну и ненадо заморачиватся с всякими там PPPoE |
|
|
|
ravenyd123
|
18.12.2011, 11:56
Сообщение
|
![]() |
|
|
|
|
c0rax
|
18.12.2011, 15:31
Сообщение
|
![]() |
|
Поблагодарили 1 раз
|
|
330863
|
18.12.2011, 16:18
Сообщение
|
![]() |
ravenyd123,
я незнаю что такое PPPoE так как несталкивался, и недумаю что это лучше чем простое подключение UTP кабеля в комп и прописывание ип адресов... |
|
|
|
![]() ![]() |