目前我在做一个分布式微博爬虫。微博对账号和 ip 的请求都限制得比较严格。我手上有七八个公网 ip,但是服务器只有四台,所以其他四个 ip 不用起来就浪费了。因此我想到使用虚拟机或者 docker 来绑定公网 ip,由于虚拟机太臃肿了,而且在 centos7 上装虚拟机也比较繁琐,所以决定使用 docker,然后在 docker 中运行我的爬虫程序。请问大家,怎么才能让 docker 绑定公网的静态 ip 呢?
目前我在做一个分布式微博爬虫。微博对账号和 ip 的请求都限制得比较严格。我手上有七八个公网 ip,但是服务器只有四台,所以其他四个 ip 不用起来就浪费了。因此我想到使用虚拟机或者 docker 来绑定公网 ip,由于虚拟机太臃肿了,而且在 centos7 上装虚拟机也比较繁琐,所以决定使用 docker,然后在 docker 中运行我的爬虫程序。请问大家,怎么才能让 docker 绑定公网的静态 ip 呢?
1
ik May 1, 2017 via iPhone 我司也是用 docker 做了一个代理池,用作微博下载使用,
公网地址绑定到物理机,做端口映射 |
2
resolvewang OP @ik 你好,我网络方面知识比较薄弱,感谢你的回答。我还有一些疑问,你是指直接在 centos server 上绑定多个公网 ip 吗?如果 server 上只有一张网卡,可以绑定多个 ip 吗?期待您的回答,感谢!
|
3
whileFalse May 1, 2017
开代理啊。
|
4
resolvewang OP @whileFalse 您可以回答详细一点吗?你说的开代理指的是在 centos 上搭建一个代理服务器?搭建的代理服务器可以代理所有剩下的 ip 吗?或者是通过 docker 的方式搭建?
还是你的意思是说,通过抓取网上公开的免费代理来搭建一个代理服务器使用? 如果你的意思是前者的话,可以给我说说具体怎么做吗?如果是后者的话,那需求是满足不了的,因为微博异地登录会有验证码。而且代理 ip 的速度巨慢。 |
5
resolvewang OP @whileFalse 您可以回答详细一点吗?你说的开代理指的是在 centos 上搭建一个代理服务器?搭建的代理服务器可以代理所有剩下的 ip 吗?或者是通过 docker 的方式搭建?
还是你的意思是说,通过抓取网上公开的免费代理来搭建一个代理服务器使用? 如果你的意思是前者的话,可以给我说说具体怎么做吗?如果是后者的话,那需求是满足不了的,因为微博异地登录会有验证码。而且代理 ip 的速度巨慢。 |
6
resolvewang OP @ik 希望能给一个比较详细的答复,谢了
|
7
whileFalse May 1, 2017
你有 8 个 IP 但只有 4 台机器,那么机器就会绑定了多于一个公网 IP。
搜索关键词: 多 IP 出口 代理 为每个 ip 出口绑定一个代理。注意做好限制防止别人用你的代理。 然后自己随便用了。 |
8
dotpig May 1, 2017
在服务器的操作系统上用 ifconfig 创建虚拟网卡,每个虚拟网卡绑定不同的 IP,然后在虚拟机或 Docker 中选择选择不同的虚拟网卡。
比如原来的以太网接口是 eth0,你可以创建 eth0:0、eth0:1 等 Alias。然后设置这些 Alias 到不同的 IP 地址。 |
9
ik May 1, 2017 via iPhone
@resolvewang 你可以先试试,哪里不对在追问吧!因为用 docker 我也只做了这个东西,有些东西也还说不清楚。
|