Назад | Перейти на главную страницу

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

У меня есть гостевой экземпляр qemu, который имеет интерфейс с 192.168.0.4 статический IP-адрес. Также есть виртуальный интерфейс tap0 без IP-адреса и br0 у которого есть 192.168.0.3 IP-адрес на хосте.

Вот команды, которые я использовал для настройки моста:

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.

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

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

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