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