У меня есть капля FreeBSD DigitalOcean, в которой я следил это руководство именно для создания тюрьмы. Проблема в том, что я не могу получить надежное сетевое соединение внутри тюрьмы. Делать curl https://www.google.com/
Я получаю задержку примерно в 1 минуту при попытке подключиться к серверу:
После второй звездочки соединение установилось очень и очень быстро. С участием ping
Я получаю 100% потерю пакетов и иногда не могу разрешить имена хостов. Это не сработает во время одной команды, но затем сработает после небольшой задержки, прежде чем я попробую следующую.
Я попытался ssh -T git@github.com
чтобы убедиться, что SSH работает надежно, и я, кажется, всегда могу получить соединение (когда работает поиск имени хоста).
У меня эти проблемы только в джейле, а не на хосте.
Проблема где-то в сети DigitalOcean. Некоторые другие пользователи Twitter сообщили о той же проблеме и перешли на AWS с такой же точный настройка работает на 100% нормально.
Ну ты не можешь ping
из тюрьмы, если вы специально не разрешили. Это так по умолчанию, потому что это вызывает проблемы с безопасностью. Вы можете позволить тюрьме ping
, но вы должны делать это только в том случае, если у вас действительно нет другого решения. Подробнее об этом там.
Теперь вместо использования ping
, вы могли бы использовать host
чтобы проверить, в порядке ли сетевое соединение:
# host google.com
Для curl
вопрос: в pf.conf вы должны включить tcp и udp для порта http (и, возможно, https тоже, если он вам нужен), но также включить udp для порта dns. Что-то вроде:
pass in on $ext_if proto { tcp, udp } from any to $ext_if port $webports
pass out on $ext_if proto { tcp, udp } from $ext_if to any port $webports
pass out on $ext_if proto udp from $ext_if to any port $dns_port
Где вы должны были определить webports и dns_port в соответствии с вашими потребностями.
Кроме того, следуя инструкциям, вы сделали копию файла /etc/resolv.conf вашего хоста. Возможно, проверьте, что в нем, в зависимости от конфигурации вашего хоста, в некоторых случаях он может не работать в тюрьмах.
PS: что касается ошибки gethostbyname, это написано в вашем заголовке, но не упомянуто в вашем сообщении. Это может относиться к конфигурации / etc / hosts, но не могу сказать больше.