Почему не удается подключиться к TvHeadend IGMP-соединению в Alpine Linux? - PullRequest
0 голосов
/ 13 октября 2018

Я хочу знать о конфигурации Alpine Linux и IGMP для TvHeadend, особенно когда я использую несколько ник.

У меня есть 4 NIC

  • 1G + 1G = bond0: использовать длявнешняя служба и подключение к Интернету
  • 1G = enp1s0: использовать для потоковой передачи TvHeadend IGMP
  • 10G = enp4s0: использовать для локальной сети

Моя проблема

  • когда я использую bond0 для GW по умолчанию, enp1s0 не может прослушивать потоковую передачу IGMP.
  • , когда я использую enp1s0 для GW по умолчанию, bond0 не может прослушивать внешние внутренние.(Исходящий работает нормально).

Я не знаю своей проблемы.Когда я использую unRAID сервер, он работает хорошо, только вариант маршрута, но Alpine Linux не работает.Я думаю, что в Alpine Linux есть специальное правило для нескольких имен, но я не могу найти никакой конфигурации.

Но когда я проверяю с iftop -i enp1s0, есть соединение с протоколом rtp.

Я пробовал

  • Установить таблицу маршрутизации: не работает

ip route add 224.0.0.0/4 dev enp1s0

  • Установить iptables: не работает

iptables -I FORWARD -s [multicast] -d 224.0.0.0/4 -j ACCEPT iptables -I INPUT -d 224.0.0.0/4 -j ACCEPT

  • Установить конфигурацию интерфейса мультиплексора TvHeadend: не работает

Вот мои интерфейсы для конфигурации ник

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
    bond-slaves enp2s0f0 enp2s0f1
    bond-mode 802.3ad
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200
    bond-lacp-rate 1
    bond-xmit-hash-policy layer2+3
    address 192.168.1.21
    netmask 255.255.255.0
    gateway 192.168.1.1
    post-up ip link set dev bond0 mtu 9000
    metric 10

auto enp1s0
iface enp1s0 inet static
    address 192.168.219.21
    netmask 255.255.255.0
    gateway 192.168.219.1
    metric 20

auto enp4s0
iface enp4s0 inet static
    address 192.168.2.21
    netmask 255.255.255.0
    post-up ip link set dev enp4s0 mtu 9000

Вот моя таблица маршрутизации (неустановить многоадресную конфигурацию)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    10     0        0 bond0
default         192.168.219.1   0.0.0.0         UG    20     0        0 enp1s0
172.17.0.0      *               255.255.0.0     U     0      0        0 docker0
192.168.1.0     *               255.255.255.0   U     0      0        0 bond0
192.168.2.0     *               255.255.255.0   U     0      0        0 enp4s0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
192.168.219.0   *               255.255.255.0   U     0      0        0 enp1s0

Вот мое правило iptables (это значение по умолчанию для Alpine Linux)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps

Chain FORWARD (policy DROP)
target     prot opt source               destination
DOCKER-USER  all  --  anywhere             anywhere
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             192.168.122.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.122.0/24     anywhere
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc

Chain DOCKER (1 references)
target     prot opt source               destination

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere
RETURN     all  --  anywhere             anywhere

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere
RETURN     all  --  anywhere             anywhere

Chain DOCKER-USER (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Вот мое правило iptables в nat (Это значение по умолчанию для Alpinelinux)

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  anywhere            !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  172.17.0.0/16        anywhere
RETURN     all  --  192.168.122.0/24     base-address.mcast.net/24
RETURN     all  --  192.168.122.0/24     255.255.255.255
MASQUERADE  tcp  --  192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
MASQUERADE  udp  --  192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
MASQUERADE  all  --  192.168.122.0/24    !192.168.122.0/24

Chain DOCKER (2 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Вот мое правило iptables в mangle (это значение по умолчанию для alpine linux)

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
CHECKSUM   udp  --  anywhere             anywhere             udp dpt:bootpc CHECKSUM fill
...