bind - dante-sever 无法通过 docker 容器中的接口(interface)名称绑定(bind) ip

标签 bind docker

我最近尝试了 docker,但 dante-server 似乎无法工作。

环境

操作系统:gentoo x86_64
docker 版本:

Client version: 1.1.0
Client API version: 1.13
Go version (client): go1.3
Git commit (client): 79812e3
Server version: 1.1.0
Server API version: 1.13
Go version (server): go1.3
Git commit (server): 79812000

用于定制镜像的DockerFile

From centos:centos6

RUN yum install -y curl

RUN rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
RUN rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt


RUN echo -e "[nginx]\nname=nginx repo\nbaseurl=http://nginx.org/packages/centos/6/\$basearch/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/nginx.repo

RUN yum install -y nginx tinyproxy dante-server mysql-server

启动容器

sudo docker run -i \
  --name="proxy" \
  -p 14000:3128 \
  -p 14001:4655 \
  -v ${confdir}/tinyproxy.conf:/etc/tinyproxy.conf \
  -v ${confdir}/dante-server.conf:/etc/sockd.conf \
  -v ${dantelogdir}:/var/log/socks \
  -v ${tinylogdir}:/var/log/tinyproxy \
  devel/centos6 /bin/bash -c "tinyproxy -c /etc/tinyproxy.conf;sockd -f /etc/sockd.conf"

sockd 配置

internal: eth0 port = 4655
external: eth0

logoutput: /var/log/socks/sockd.log
socksmethod: none

user.privileged: root
user.notprivileged: root
user.libwrap: root

client pass {
    from: 0.0.0.0/0 port 1-65535 to: 0.0.0.0/0
    clientmethod: none # match all idented users that also are in passwordfile
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
  socksmethod: none
}

当我单独测试时,tinyproxy 运行良好。 dante-server 通过了配置测试,但在启动过程中日志出现以下错误:

Aug 10 07:54:35 (1407653675.105641) sockd[12]: warning: bindinternal(): bind of address fe80::dc6f:d7ff:fe8f:fa59.46 55 (address #2/2) for server to listen on failed: Cannot assign requested address Aug 10 07:54:35 (1407653675.105650) sockd[12]: error: serverinit(): failed to bind internal addresses: Cannot assign requested address
Aug 10 07:54:35 (1407653675.105672) sockd[12]: alert: mother[1/1]: shutting down

错误似乎 dante-server 无法绑定(bind)到由接口(interface)名称 **eth0* 解析的 IP。有什么帮助吗?

最佳答案

使用“内部:0.0.0.0 端口 = 4655”代替“内部:eth0 端口 = 4655”

关于bind - dante-sever 无法通过 docker 容器中的接口(interface)名称绑定(bind) ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25226531/

相关文章:

docker - 无法使用Sarama Golang软件包创建Kafka生产者客户端-“客户端/元数据在获取元数据时从代理处出错:EOF”

macos - 在没有 Docker 工具箱的情况下在 OSX 上安装 docker-machine

c++ - 如何否定 boost::lambda:bind?

c++ - 使用 C++ 在 vi​​sual studio 中进行套接字编程

jquery绑定(bind)改变css

centos - 使用 BIND : no servers could be reached 创建 DNS

javascript - function.apply.bind 在以下代码中如何工作?

docker - 如何在不执行指定命令的情况下启动Docker容器

docker - 无法在kubernetes中保留KUBE-FORWARD自定义iptables规则

node.js - 如何修复 Docker 意外运算符(operator)错误?