如何解决GCP不允许使用伪造IP地址的数据包-为什么?
我有问题,因为我想将自己生成的数据包发送到GCP上的vm实例。我正在使用带有欺骗性源地址的以下代码:
packet = IP(src="77.7.7.7",dst="MY-VM-IP")/UDP(sport=RandShort(),dport=53)/DNS(rd=1,qd=DNSQR(qname="google.com"))
import time
while True:
send(packet)
time.sleep(1)
尽管当我不更改源IP时,我仍可以在VM上看到带有TCP转储的数据包。 我该如何运作?我在VM上启用了IP转发,并将FW设置为允许。
解决方法
根据文档1,只要发送数据包的VM将IP forwarding
设置为ON
,就有可能。
您还需要确保正在处理流量的VM具有允许该操作的Ingress FW规则。
我刚刚测试了以下内容,并且有效:
- 创建了VM A1,并允许来自任何地方的FW规则。
- 创建了另一个启用IP转发的VM B1。
- 运行上面的代码以生成数据包并将其从B1发送到A1。
- 我可以通过tcpdump看到到达A1的数据包。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。