標簽:src yum tcpdump mirrors docke source home 動態配置 初步
總所周知,Linux 服務器是可以作為一臺路由器使用,不僅僅是可以轉發單播數據包,同事也可以轉發組播數據包.但是多數同學卻不知道如何配置.本文將介紹將Linux配置成組播轉發路由器的方法做一個分享.
目錄
手工開啟
1.開啟轉發開關
2.在需要開啟組播轉發的接口上打開組播轉發開關.
3.手工配置靜態組播路由.
4.配置iptables,放行組播轉發報文
使用pimd工具動態配置組播路由和igmp成員發現
1.開啟轉發開關
2.下載安裝pimd
3.配置pimd的配置文件并啟動pimd
4.配置iptables,放行組播轉發報文
組播轉發配置的常用命令:
查看系統配置:
查看當前生效的組播路由:
查看 pimd 的 debug 日志,以觀察各種事件
抓包查看igmp\pim\具體組播報文
手工開啟
1.開啟轉發開關
和ip單播一樣,首先需要打開系統的ipv4轉發開關.
[[email protected]:/home/vap]
2.在需要開啟組播轉發的接口上打開組播轉發開關.
以下示例是打開所有接口的組播轉發開關.
-
-
all/ docker0/ enp62s0f0/ lo/ veth28802fc/ vethbb97ad5/
-
default/ enp134s0/ enp62s0f1/ veth1811b4c/ veth43493c1/
-
-
-
以下為打開docker0接口的組播轉發開關.
[[email protected]:/home/vap]
可以依照例子手工一次打開各參與組播路由轉發的接口開關.
3.手工配置靜態組播路由.
以下示例增加了2條靜態的組播路由
-
-
-
-
-
default via 10.46.169.1 dev enp134s0 onlink
-
10.46.169.0/24 dev enp134s0 proto kernel scope link src 10.46.169.239
-
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
-
224.0.16.0/24 dev docker0 scope link
-
224.0.18.0/24 dev docker0 scope link
-
238.97.1.144 dev docker0 scope link
4.配置iptables,放行組播轉發報文
首先檢查iptables 的 filter 表的 FORWARD 鏈的默認策略和實際規則,如果發現被阻斷的情況需要根據實際情況放通規則.
注意下圖中 Chain FORWARD (policy ACCEPT .....),該ACCEPT標識了這條鏈的默認規則為ACCEPT.
-
-
Chain INPUT (policy ACCEPT 23306 packets, 3074K bytes)
-
pkts bytes target prot opt in out source destination
-
481K 108M f2b-sshd tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
-
-
Chain FORWARD (policy ACCEPT 194K packets, 278M bytes)
-
pkts bytes target prot opt in out source destination
-
6544K 11G DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
-
6544K 11G DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0
-
2262K 1036M ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
-
1295K 1806M DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
-
2987K 8295M ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
-
1533 61320 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
-
-
Chain OUTPUT (policy ACCEPT 188K packets, 201M bytes)
-
pkts bytes target prot opt in out source destination
如果有實際需要控制的轉發策略時,可以將默認設置為DROP,然后添加具體的ACCEPT規則.
如果沒有進一步的需求,則可以直接將默認規則設置為ACCEPT.
設置默認規則的命令如下:
[[email protected]:/home/vap]
使用pimd工具動態配置組播路由和igmp成員發現
1.開啟轉發開關
和ip單播一樣,首先需要打開系統的ipv4轉發開關.
[[email protected]:/home/vap]
2.下載安裝pimd
例如 centos 上可以使用 yum 直接安裝 pimd ,也可以到 github 下載源碼包編譯安裝.
[[email protected]~]#yum install pimd
如何編譯安裝這個請自行查看幫助文檔.源碼包的 github 連接如下:
https://github.com/troglobit/pimd/releases
3.配置pimd的配置文件并啟動pimd
使用 man pimd 可以查看 pimd 的手冊.
配置文件一般放置在 /etc/pimd.conf. 默認是開啟所有端口的 pim 和 igmp .正常初步使用的話直接使用 pimd 命令啟動即可.
[[email protected]:~]pimd
查看 pimd 的當前路由表情況:
-
-
pimd: Failed removing /var/run/pimd/pimd.dump, may be showing stale information: Permission denied
-
-
Vif Local Address Subnet Thresh Flags Neighbors
-
-
0 10.46.169.239 10.46.169/24 1 DR NO-NBR
-
1 172.17.0.1 172.17 1 DR NO-NBR
-
2 10.46.169.239 register_vif0 1
-
-
-
-
-
-
Source Group RP Address Flags
-
-
INADDR_ANY 224.0.75.75 172.17.0.1 WC RP
-
-
-
-
-
-
-
-
TIMERS: Entry JP RS Assert VIFS: 0 1 2
-
-
-
-
Source Group RP Address Flags
-
-
INADDR_ANY 238.97.1.144 172.17.0.1 WC RP
-
-
-
-
-
-
-
-
TIMERS: Entry JP RS Assert VIFS: 0 1 2
-
-
-
-
-
Number of Cache MIRRORs: 0
-
4.配置iptables,放行組播轉發報文
首先檢查iptables 的 filter 表的 FORWARD 鏈的默認策略和實際規則,如果發現被阻斷的情況需要根據實際情況放通規則.
注意下圖中 Chain FORWARD (policy ACCEPT .....),該ACCEPT標識了這條鏈的默認規則為ACCEPT.
-
-
Chain INPUT (policy ACCEPT 23306 packets, 3074K bytes)
-
pkts bytes target prot opt in out source destination
-
481K 108M f2b-sshd tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
-
-
Chain FORWARD (policy ACCEPT 194K packets, 278M bytes)
-
pkts bytes target prot opt in out source destination
-
6544K 11G DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
-
6544K 11G DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0
-
2262K 1036M ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
-
1295K 1806M DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
-
2987K 8295M ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
-
1533 61320 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
-
-
Chain OUTPUT (policy ACCEPT 188K packets, 201M bytes)
-
pkts bytes target prot opt in out source destination
如果有實際需要控制的轉發策略時,可以將默認設置為DROP,然后添加具體的ACCEPT規則.
如果沒有進一步的需求,則可以直接將默認規則設置為ACCEPT.
設置默認規則的命令如下:
[[email protected]:/home/vap]
組播轉發配置的常用命令:
查看系統配置:
sysctl -a | grep mc
sysctl -a | grep forward
查看當前生效的組播路由:
ip mroute show
查看 pimd 的 debug 日志,以觀察各種事件
pimd --debug=xxx
xxx是 pimd 支持的各種 debug 級別,具體可以查看 pimd --help
抓包查看igmp\pim\具體組播報文
tcpdump -ennvi 接口名
linux下啟用組播轉發的方法與一些常用狀態檢查命令
標簽:src yum tcpdump mirrors docke source home 動態配置 初步
原文地址:https://www.cnblogs.com/dream397/p/13393799.html