curl“没有到主机的路由”或“连接超时”,但 python httplib 可以工作

curl“没有到主机的路由”或“连接超时”,但 python httplib 可以工作

我有 qemu 客户实例,它有一个带192.168.0.4静态 IP 地址的接口。此外,还有一个tap0没有 IP 地址的虚拟接口,它在主机上br0有IP 地址。192.168.0.3

以下是我用来设置桥接的命令:

ip link add br0 type bridge
ip addr flush dev br0
ip addr add 192.168.0.3/24 brd 192.168.0.255 dev br0
ip tuntap add mode tap user $(whoami)
ip link set tap0 master br0
ip link set dev br0 up
ip link set dev tap0 up

qemu 内部正在运行一个 Web 服务器。当我尝试使用 curlcurl 192.168.0.4:8080从主机执行简单的 get 请求时,我收到No route to host错误消息。但如果我使用 python 执行相同的请求httplib.HTTPConnection("192.168.0.4:8080"),我会收到响应200 OK

您能否给我一些建议来解决这个问题?

答案1

我相信这curl是使用从环境变量中检索到的代理设置,并且代理不知道网络路由192.168.0.0/24

请尝试以下操作:

$ curl --verbose --noproxy '*' 192.168.0.4:8080

相关内容