Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
HEDG_SS
- сержант
- Сообщения: 198
- Зарегистрирован: 2008-11-22 20:37:07
Непрочитанное сообщение
HEDG_SS » 2010-07-13 11:44:26
Доброго времени суток Всем.
Столкнулся со следующей проблемкой.
Пинг работает под обычным пользователем при стандартном размере пакета:
Код: Выделить всё
> ping -c 5 -q ex.ua
PING ex.ua (93.183.204.162): 56 data bytes
--- ex.ua ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 9.606/10.715/12.715/1.196 ms
Нужен пинг из под обычного пользователя с возможностью задавать размер пакета.
Код: Выделить всё
> ping -c 5 -q -s 1400 ex.ua
ping: packet size too large: 1400 > 56: Operation not permitted
Как сделать такое разрешение только для утилиты ping?
Примечание: пинг должен будет выполняться со скрипта через веб....
P.S. заранее благодарен за помощь
HEDG_SS
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
HEDG_SS
- сержант
- Сообщения: 198
- Зарегистрирован: 2008-11-22 20:37:07
Непрочитанное сообщение
HEDG_SS » 2010-07-13 11:58:47
Код: Выделить всё
> ping -c 5 -q -s 140 ex.ua
ping: packet size too large: 140 > 56: Operation not permitted
Без разницы!
Запрещено менять размер пакета, все равно какой выставлять.
Используется стандартное MTU 1500.
Пинг c правами root:
Код: Выделить всё
# ping -c 5 -q -s 1400 ex.ua
PING ex.ua (93.183.204.162): 1400 data bytes
--- ex.ua ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 9.783/9.854/9.944/0.069 ms
HEDG_SS
-
HEDG_SS
- сержант
- Сообщения: 198
- Зарегистрирован: 2008-11-22 20:37:07
Непрочитанное сообщение
HEDG_SS » 2010-07-13 12:42:58
не хочется использовать sudo, тем более через веб.
Для меня просто не понятно, куда ping пытается получить доступ, что именно ему запрещено...
Права на сам пинг есть (они такие по умолчанию)
Код: Выделить всё
# ls -lh /sbin/ping
-r-sr-xr-x 1 root wheel 23K Jan 18 17:21 /sbin/ping
HEDG_SS
-
Dog
- лейтенант
- Сообщения: 723
- Зарегистрирован: 2006-09-21 10:34:36
- Откуда: Kharkiv, Ukraine
-
Контактная информация:
Непрочитанное сообщение
Dog » 2010-07-13 12:47:59
Ман прочитать - не?
Код: Выделить всё
-s packetsize
Specify the number of data bytes to be sent. The default is 56,
which translates into 64 ICMP data bytes when combined with the 8
bytes of ICMP header data. Only the super-user may specify val?
ues more than default. This option cannot be used with ping
sweeps.
Настоятельно рекомендую внимательно прочесть предпоследнее предложение.
Oh my God, they killed init! Bastards!
Dog
-
Burner
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2009-06-14 7:02:26
Непрочитанное сообщение
Burner » 2010-07-13 13:17:11
HEDG_SS писал(а):не хочется использовать sudo, тем более через веб.
почему?
Burner
-
HEDG_SS
- сержант
- Сообщения: 198
- Зарегистрирован: 2008-11-22 20:37:07
Непрочитанное сообщение
HEDG_SS » 2010-07-13 13:34:12
Dog писал(а):Ман прочитать - не?
Прочитал "по диагонали"

.
Практическим путем я к этому же выводу и пришел...
Burner писал(а):
почему?
С одной стороны - Sudo не хочется трогать, т.к придется прописывать тогда на всех серверах индивидуальные доступы (внедрять так внедрять..).
С другой - интересно, каким еще способом можно решить эту задачу
HEDG_SS
-
Dog
- лейтенант
- Сообщения: 723
- Зарегистрирован: 2006-09-21 10:34:36
- Откуда: Kharkiv, Ukraine
-
Контактная информация:
Непрочитанное сообщение
Dog » 2010-07-13 14:07:20
HEDG_SS писал(а):С другой - интересно, каким еще способом можно решить эту задачу
Хакнуть код ping'а

Oh my God, they killed init! Bastards!
Dog
-
LMik
- капитан
- Сообщения: 1852
- Зарегистрирован: 2007-07-17 9:14:39
- Откуда: МО
-
Контактная информация:
Непрочитанное сообщение
LMik » 2010-07-13 14:41:49
В прошлый раз когда было нужно такое, сходил в сурсы поправил 2 строчки пинга.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!
LMik
-
HEDG_SS
- сержант
- Сообщения: 198
- Зарегистрирован: 2008-11-22 20:37:07
Непрочитанное сообщение
HEDG_SS » 2010-07-13 15:06:27
LMik писал(а):В прошлый раз когда было нужно такое, сходил в сурсы поправил 2 строчки пинга.
Действительно элементарно

!
Сурсы в /usr/src/sbin/ping
Править файл ping.c.
Код: Выделить всё
/*if (uid != 0 && ultmp > DEFDATALEN) {
errno = EPERM;
err(EX_NOPERM,
"packet size too large: %lu > %u",
ultmp, DEFDATALEN);
}*/
Всем огромное спасибо!!!
HEDG_SS
-
LMik
- капитан
- Сообщения: 1852
- Зарегистрирован: 2007-07-17 9:14:39
- Откуда: МО
-
Контактная информация:
Непрочитанное сообщение
LMik » 2010-07-13 15:26:00
Единственное не забудь - пересоберешь систему - и надо пропатчить заново.
Ещё можно исключение внести на uid определенного пользователя, чтобы не все могли слать большие пакета, а только нужный, и рут. Но это уже паранойя всё.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!
LMik
-
Burner
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2009-06-14 7:02:26
Непрочитанное сообщение
Burner » 2010-07-14 6:24:30
Сурсы в /usr/src/sbin/ping
Править файл ping.c.
LMik писал(а):Единственное не забудь - пересоберешь систему - и надо пропатчить заново.
да уж, а еще это на всех серверах делать? Безусловно проще и правильней, чем выдать судо

Burner
-
HEDG_SS
- сержант
- Сообщения: 198
- Зарегистрирован: 2008-11-22 20:37:07
Непрочитанное сообщение
HEDG_SS » 2010-07-15 10:24:38
Burner писал(а):
да уж, а еще это на всех серверах делать? Безусловно проще и правильней, чем выдать судо

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