如何连接eth0和docker自定义网络

问题描述 投票:0回答:0

大局:我需要建立一个自动测试环境,让我测试端口扫描工具。

这是我用作游乐场的 github 存储库:https://github.com/WojciechMigda/tested-scanners

我有什么:

  • 两个(会有更多)容器运行
    snmpd
    ,连接到自定义ipv4和ipv6网络
    net-snmpd
    ,连接到
    br-snmpd
    主机接口。
  • 我可以
    ping
    ping6
    一个来自主机的容器。
  • nmap
    可以在 ipv4 和 ipv6 网络上执行端口 161 的完整性扫描。注意:
    nmap
    在 IP 层级别运行。它向
    br-snmpd
    接口发送IP探测数据包。

问题:

我也在运行

masscan
来执行端口扫描。与
nmap
相反,
masscan
在以太网层上运行。默认情况下,当未明确指定接口时,
masscan
使用主机的 eth0 接口。选择此接口是因为默认路由通向它。不幸的是,
masscan
未能检测到容器上的开放端口。

但是,

masscan
也可以通过指定网络接口(
br-snmpd
而不是
eth0
)和相关路由器的 MAC 来运行。通过这样的设置,
masscan
成功地检测了容器上的端口。

我尝试更改不同的东西,但我找不到丢失的部分 - 需要额外配置什么才能让

masscan
通过
eth0
界面成功扫描容器上的端口?

我想实现的另一个设置是配置网络接口,以便有另一个默认路由通向容器的网络,允许

masscan
使用
br-snmpd
接口而无需手动指定路由器的MAC地址,或者容器' 以这样的方式配置的接口,它们将作为主机的 LAN 接口可见(我认为 docker 的
macvlan
功能将允许这样做,但我不确定)。

docker-compose.yml
https://github.com/WojciechMigda/tested-scanners/blob/main/tests/resources/docker-compose.yml

github 操作流程:https://github.com/WojciechMigda/tested-scanners/blob/main/.github/workflows/test.yml

工作流程运行之一:https://github.com/WojciechMigda/tested-scanners/actions/runs/4813378705/jobs/8569841427

  ip -4 addr
  ip -6 addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 10.1.24.5/16 metric 100 brd 10.1.255.255 scope global eth0
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
4: br-snmpd: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    inet 10.9.0.1/24 brd 10.9.0.255 scope global br-snmpd
       valid_lft forever preferred_lft forever
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::6245:bdff:fe7a:4922/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 state DOWN 
    inet6 2001:db8:1::1/64 scope global tentative 
       valid_lft forever preferred_lft forever
    inet6 fe80::1/64 scope link tentative 
       valid_lft forever preferred_lft forever
4: br-snmpd: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP 
    inet6 2001:db8:1:1::1/120 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::42:31ff:fed7:61d3/64 scope link 
       valid_lft forever preferred_lft forever
    inet6 fe80::1/64 scope link 
       valid_lft forever preferred_lft forever
6: veth58fff89@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP 
    inet6 fe80::14f4:fcff:fe3c:2b8a/64 scope link 
       valid_lft forever preferred_lft forever
8: veth55e96c9@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP 
    inet6 fe80::d471:a4ff:febf:8273/64 scope link 
       valid_lft forever preferred_lft forever
  ip -4 route
  ip -6 route

default via 10.1.0.1 dev eth0 proto dhcp src 10.1.24.5 metric 100 
10.1.0.0/16 dev eth0 proto kernel scope link src 10.1.24.5 metric 100 
10.1.0.1 dev eth0 proto dhcp scope link src 10.1.24.5 metric 100 
10.9.0.0/24 dev br-snmpd proto kernel scope link src 10.9.0.1 
168.63.129.16 via 10.1.0.1 dev eth0 proto dhcp src 10.1.24.5 metric 100 
169.254.169.254 via 10.1.0.1 dev eth0 proto dhcp src 10.1.24.5 metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
::1 dev lo proto kernel metric 256 pref medium
2001:db8:1::/64 dev docker0 proto kernel metric 256 linkdown pref medium
2001:db8:1::/64 dev docker0 metric 1024 linkdown pref medium
2001:db8:1:1::/120 dev br-snmpd proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev docker0 proto kernel metric 256 linkdown pref medium
fe80::/64 dev br-snmpd proto kernel metric 256 pref medium
fe80::/64 dev veth58fff89 proto kernel metric 256 pref medium
fe80::/64 dev veth55e96c9 proto kernel metric 256 pref medium
docker-networking
© www.soinside.com 2019 - 2024. All rights reserved.