curl «Нет маршрута к хосту» или «Время ожидания соединения истекло», но работает python httplib

У меня есть гостевой экземпляр qemu, у которого есть интерфейс со статическим IP-адресом 192.168.0.4 . Также есть виртуальный интерфейс 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 запущен веб-сервер. Когда я пытаюсь выполнить простой запрос получения с помощью curl вроде этого curl 192.168.0.4:8080 от хоста, я получаю сообщение об ошибке No route to host . Но если я выполню тот же запрос через python httplib.HTTPConnection («192.168.0.4:8080») , Я получаю ответ 200 OK .

Не могли бы вы дать мне совет, как решить эту проблему с помощью curl.

0
задан 29 March 2019 в 16:07
1 ответ

Я считаю, что curl использует настройки прокси, полученные из переменных среды, и этот прокси не знает маршрута к сети 192.168.0.0/24 .

Пожалуйста, попробуйте следующее:

$ curl --verbose --noproxy '*' 192.168.0.4:8080
1
ответ дан 4 December 2019 в 15:44

Теги

Похожие вопросы