【问题标题】:How can I determine which is my IP address on a different network?如何确定哪个是我在不同网络上的 IP 地址?
【发布时间】:2020-04-29 18:52:06
【问题描述】:

我正在尝试从 Azure 云中上传的 Pod 向我公司网络上的内部主机启动 SNMP 查询。从 pod 到公共 SNMP 服务器的 snmpget 查询运行良好,但对我的目标主机的查询会导致:

root@status-tanner-api-86557c6786-wpvdx:/home/status-tanner-api/poller# snmpget -c public -v 2c 192.168.118.23 1.3.6.1.2.1.1.1.0
Timeout: No Response from 192.168.118.23.

NMAP 显示 SNMP 端口已打开|已过滤:

Nmap scan report for 192.168.118.23
Host is up (0.16s latency).
PORT    STATE         SERVICE
161/udp open|filtered snmp

我请求了一个新规则以允许来自我的 pod 的 161UDP,但我怀疑我请求的规则是为错误的 IP 地址制定的。

我的理论是,如果 我可以进入目标主机,打开来自 pod 的连接并查看使用 netstat,我应该能够确定我的 pod 用于访问此目标主机的 IP 地址我的 pod 使用的 IP 地址。问题是我目前无法访问此主机。 所以,我的问题是如何查看我的 pod 从哪个地址到达目标主机? 显然正在使用某种公共地址,但如果不输入目标主机。

我很确定我错过了在这种情况下应该可以帮助我的重要网络工具。任何建议都将不胜感激。

【问题讨论】:

    标签: azure networking kubernetes nmap


    【解决方案1】:

    默认情况下,Kubernetes 将使用您的节点 IP 来访问其他服务器,因此您需要使用您的节点 IP 制定防火墙规则。

    我已经测试过使用busybox pod 来访问我网络中的其他服务器

    这是我的lab-1节点IP,ip为10.128.0.62

    $rabello@lab-1:~ ip ad | grep ens4 | grep inet
        inet 10.128.0.62/32 scope global dynamic ens4
    

    在这个节点中,我有一个带有 ip 192.168.251.219 的 busybox pod:

    $ kubectl exec -it busybox sh
    / # ip ad | grep eth0 | grep inet
        inet 192.168.251.219/32 scope global eth0
    

    当对网络中的另一台服务器(server-1)执行 ping 测试时,我们有:

    / # ping 10.128.0.61
    PING 10.128.0.61 (10.128.0.61): 56 data bytes
    64 bytes from 10.128.0.61: seq=0 ttl=63 time=1.478 ms
    64 bytes from 10.128.0.61: seq=1 ttl=63 time=0.337 ms
    ^C
    --- 10.128.0.61 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.337/0.907/1.478 ms
    

    在 server-1 上使用 tcpdump,我们可以使用来自 lab-1 的节点 ip 查看来自我的 pod 的 ping 请求:

    rabello@server-1:~$ sudo tcpdump -n icmp
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    10:16:09.291714 IP 10.128.0.62 > 10.128.0.61: ICMP echo request, id 6230, seq 0, length 64
    10:16:09.291775 IP 10.128.0.61 > 10.128.0.62: ICMP echo reply, id 6230, seq 0, length 64
    ^C
    4 packets captured
    4 packets received by filter
    0 packets dropped by kernel
    

    确保您有适当的防火墙规则以允许您的节点(或您的 vpc 范围)到达您的目的地,并检查您的 VPN 是否已启动(如果您有的话)。

    希望对你有帮助! =)

    【讨论】:

      猜你喜欢
      • 2019-08-08
      • 2011-01-26
      • 2013-06-28
      • 1970-01-01
      • 2014-08-05
      • 2015-10-04
      • 1970-01-01
      • 2012-06-28
      • 2020-11-29
      相关资源
      最近更新 更多