сеть ipv4.conf.all.mc_forwarding: почему мой доступ запрещен?

Вот быстрое и грязное решение этого в Python. Это делает кэширование (включая отрицательное кэширование), но никакая поточная обработка и не является самой быстрой вещью, которую Вы видели. Если Вы сохраняете его как что-то как rdns, можно назвать его как это:

zcat /var/log/some-file.gz | rdns
# ... or ...
rdns /var/log/some-file /var/log/some-other-file # ...

Выполнение его аннотирует IP-адреса их оперативными записями PTR:

$ echo "74.125.132.147, 64.34.119.12." | rdns
74.125.132.147 (rdns: wb-in-f147.1e100.net), 64.34.119.12 (rdns: stackoverflow.com).

И вот источник:

#!/usr/bin/env python

import sys, re, socket

cache = dict()

def resolve(x):
    key = x.group(0)
    try:
        return "%s (rdns: %s)" % (key, cache[key])
    except KeyError:
        try:
            cache[key] = socket.gethostbyaddr(key)[0]
        except socket.herror:
            cache[key] = '?'
        return "%s (rdns: %s)" % (key, cache[key])

for f in [open(x) for x in sys.argv[1:]] or [sys.stdin]:
    for line in f:
        sys.stdout.write(re.sub("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", resolve, line))

# End of file.

Пожалуйста, примите во внимание: это не вполне, что Вы после к букве (использующий ‘стандартные инструменты’). Но это, вероятно, помогает Вам больше, чем взлом, который разрешает каждый IP-адрес каждый раз, когда с этим встречаются. Еще с несколькими строками можно даже заставить его постоянно кэшировать свои результаты, которые помогли бы с повторными вызовами.

4
01.07.2014, 02:19
2 ответа

Я полагаю, что этот поток описывает Вашу проблему

Короче говоря proc запись, содержащая то значение, только для чтения, и не может быть сделана перезаписываемой легко:

$ ls -ln /proc/sys/net/ipv4/conf/all/mc_forwarding 
-r--r--r-- 1 0 0 0 Jun 17 08:20 /proc/sys/net/ipv4/conf/all/mc_forwarding
$ sudo chmod u+x /proc/sys/net/ipv4/conf/all/mc_forwarding
chmod: changing permissions of `/proc/sys/net/ipv4/conf/all/mc_forwarding': Operation not permitted

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

5
27.01.2020, 20:54

вы также можете получить такую ​​ошибкуsysctl: setting key "net.ipv4.conf.all.mc_forwarding": No such file or directory

mc_forwarding - BOOLEAN
    Do multicast routing. The kernel needs to be compiled with CONFIG_MROUTE
    and a multicast routing daemon is required.
    conf/all/mc_forwarding must also be set to TRUE to enable multicast
    routing for the interface

ядро ​​должно быть скомпилировано с опцией CONFIG _MROUTE, в ядре по умолчанию эта опция не установлена.

0
27.01.2020, 20:54

Теги

Похожие вопросы