gethostbyname失败和networking超时在监狱

我有一个FreeBSD DigitalOcean液滴,我按照这个指南 准确地build立了一个监狱。 问题是我无法在监狱里获得可靠的networking连接。 做curl https://www.google.com/我试图连接到服务器时得到1分钟的延迟:

卷曲失败

在第二个星号之后,连接非常快速地build立起来。 ping我得到100%的数据包丢失,偶尔我无法parsing主机名。 在一个命令期间它将不起作用,但是在我尝试下一个命令之前,它会稍微延迟一段时间。

我试着用ssh -T [email protected]来查看SSH是否工作正常,而且我似乎总能得到一个连接(当主机名查找工作时)。

我只有这些问题在监狱里,而不是在主机上。

那么,除非你明确地允许,否则你不能从监狱里面平静下来。 这是默认情况下,因为它触发安全问题。 你可以允许一个监狱,但你只能这样做,如果你真的没有任何其他的解决scheme。 更多关于它的地方 。

现在,可以使用host来检查networking连接是否正常,而不是使用ping

 # host google.com 

至于curl问题:在pf.conf中,你应该启用tcp和udp进出端口http(也可能是https,如果你需要的话),还可以启用端口dns的udp。 就像是:

 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副本。 也许看看里面有什么,根据你的主机的configuration,在某些情况下它可能不会在监狱工作。

PS:作为gethostbyname失败,它是写在你的标题,但没有在你的文章中提到。 这可能与/ etc / hostsconfiguration有关,但不能多说。

问题在于DigitalOcean的networking中。 Twitter上的一些其他人报告了相同的问题,并以相同的准确设置迁移到AWS工作100%。