V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chenzhenguo0620
V2EX  ›  程序员

一台服务器实现如何实现 ip 轮询机制

  •  1
     
  •   chenzhenguo0620 · 2020-03-25 16:36:07 +08:00 · 3647 次点击
    这是一个创建于 1695 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问各位大牛一个问题, 需求是这样的: 现在是有一台代理程序,会对 web 资源进行代理,代理程序如果发起的请求过多,该 ip 会被封掉,

    请求网站 ip 为学校内网 ip 。请问如何实现修改本机的请求 ip,来防止代理 ip 被封 (跟爬虫的 ip 池不太一样,因为爬虫的 ip 池是 通过代理服务器再进行代理的,而且是用的外部的代理服务器,现在这个请求的 ip 需要是内网的 ip,难道只能在内网搭建多台反向代理吗?)

    有没有办法不用代理服务器的方式,能够实现 ip 的更换?

    24 条回复    2020-04-03 20:00:05 +08:00
    chenzhenguo0620
        1
    chenzhenguo0620  
    OP
       2020-03-25 16:38:00 +08:00
    有 DHCP 的技术能否实现 ip 的无感切换 或者使用虚拟 ip
    Tianao
        2
    Tianao  
       2020-03-25 16:43:21 +08:00
    不知道你内网 IP 是怎么来的,如果是无差别 DHCP,随机 MAC 地址就行了,但你需要保证 DHCP 是无差别的而不是基于 AAA (比如 PPP )或者 MAC 白名单的。
    chenzhenguo0620
        3
    chenzhenguo0620  
    OP
       2020-03-25 17:41:15 +08:00
    @Tianao 内网 IP 可以设置多个固定的 ip 地址 ,dhcp 试过可以更换 ip,但是如果不更换 mac 地址的话 就还是只给同一个 ip
    RickyC
        4
    RickyC  
       2020-03-25 17:56:18 +08:00
    实在没有听懂你的问题.
    哪个 ip 被封?
    什么是对 web 资源进行代理?
    你有多少 ip 资源?
    你是需要很多的 ip 资源吗?
    mnssbe
        5
    mnssbe  
       2020-03-25 17:57:56 +08:00
    网站, 代理服务哪一个是你能控制的。你好像什么都控制不了
    hiplon
        6
    hiplon  
       2020-03-25 18:25:11 +08:00
    听下来是不是就是要改你自己终端的 IP 就行啦?
    black11black
        7
    black11black  
       2020-03-25 18:47:06 +08:00
    IP 确实不是你能控制的,要不然假请求会比现在猖獗一万倍。根据你的回帖目前最可能的方案就是自动重启网卡吧,linux 修改 mac 地址还是很简单的,windows 不会。不过网卡重启的间隔你还是会高频请求冲撞对方防火墙,基本上该挂还是挂。总之一台机是很难搞的
    jugelizi
        8
    jugelizi  
       2020-03-25 20:23:11 +08:00 via iPhone
    ...说了一大堆 就是自动重新获取你的内网 ip 而已
    一个 bat 解决的事
    yuandong
        9
    yuandong  
       2020-03-25 20:49:16 +08:00
    搜索 弹性 ip
    iX8NEGGn
        10
    iX8NEGGn  
       2020-03-26 00:58:49 +08:00 via iPhone
    你就是想换你内网 ip,windows 可以在虚拟机内装个 openwrt 软路由,然后虚拟个几十张网卡,再用软路由自带的负载均衡,但是这样获得的 ip 还是少,只能写个脚本,被流控后自动换网卡 mac 重新获取 ip
    chenzhenguo0620
        11
    chenzhenguo0620  
    OP
       2020-03-26 10:24:45 +08:00
    @RickyC 比如在学校,用学校的内网 ip 是可以访问学校内部的知网,万方这类电子资源, 但是如果下载次数过多 ip 就会被封掉或者提升验证码,如果能修改请求知网的内网 ip 就可以实现不被封 ip
    chenzhenguo0620
        12
    chenzhenguo0620  
    OP
       2020-03-26 10:28:21 +08:00
    chenzhenguo0620
        13
    chenzhenguo0620  
    OP
       2020-03-26 10:28:52 +08:00
    chenzhenguo0620
        14
    chenzhenguo0620  
    OP
       2020-03-26 10:30:00 +08:00
    @hiplon
    @jugelizi
    @iX8NEGGn 确实是要修改内网 ip,有没有能用程序来修改,而且实现不用停止 代理服务,就能自动切换内网 ip ,类似路由表
    xyjincan
        15
    xyjincan  
       2020-03-26 10:35:05 +08:00
    docker 上一堆实例,都设置好桥接静态 ip,配置上 web 代理服务,你的代理服务端,轮询选择你的 docker 代理池,你要干嘛呀
    chenzhenguo0620
        16
    chenzhenguo0620  
    OP
       2020-03-26 10:35:05 +08:00
    通过命令修改 ip 的话就需要重启网卡,重启网卡的话就会停止服务了,
    xyjincan
        17
    xyjincan  
       2020-03-26 10:38:04 +08:00
    双网卡,服务网卡本地 ip 不变,另一个网卡按需使用脚本更换 ip&mac
    chenzhenguo0620
        18
    chenzhenguo0620  
    OP
       2020-03-26 10:41:15 +08:00
    @xyjincan 您说的办法也可行,也可以当负载均衡的效果,但是 ip 是固定的,能否实现 在一个网段里自动更换 ip 。
    xyjincan
        19
    xyjincan  
       2020-03-26 10:58:41 +08:00
    好像你自己搭建一个 DHCP 服务器可以实现,
    chenzhenguo0620
        20
    chenzhenguo0620  
    OP
       2020-03-26 11:12:41 +08:00
    @xyjincan 另一个网卡使用脚本更换 ip&mac 是否 需要重启网卡生效,就会造成 服务程序中断了。 DHCP 服务器可以实现 当时测试了可以更换,mac 地址相同,所以每次分到的都是相同的 ip,但是更换 mac 地址之后 好像也需要重启网卡, 这两个方案我需要再验证一下,感想大佬
    iX8NEGGn
        21
    iX8NEGGn  
       2020-03-26 12:48:15 +08:00 via iPhone
    @chenzhenguo0620 软路由里面负载均衡是不需重启网卡的,你虚拟多个网卡,即使重启一部分网卡它会自动从剩余的 ip 继续负载均衡,重启网卡后新的 ip 又继续能加入到负载均衡里,但是你要明白一个会话一旦建立后,用的就都是那个 ip 了,如果需要登陆的话你又得重新登陆
    chenzhenguo0620
        22
    chenzhenguo0620  
    OP
       2020-03-26 14:28:50 +08:00
    @iX8NEGGn 厉害了 大佬,这个好像能够实现我的需求,不过我有个问题是 我如果需要在 centos 上面安装 openwrt 安装 我看这个一般是安装在 其他路由固件上的 , 将 openwrt 和其他程序放在一台服务器是否可行呢?
    iX8NEGGn
        23
    iX8NEGGn  
       2020-03-26 15:26:11 +08:00 via iPhone
    @chenzhenguo0620 不管在 windows 还是 linux 下,只要有虚拟机都可以,直接拿一台真机也行,虚拟机的话,你的 centos 不直接通过你的物理网卡上网,而是通过虚拟机网卡,比如 windows 下的 vm8 或 vm1,但是你要有路由的知识,才能配置好
    chenzhenguo0620
        24
    chenzhenguo0620  
    OP
       2020-04-03 20:00:05 +08:00 via Android
    @iX8NEGGn 大佬,请问怎么我怎么判断这个虚拟网卡没有会话,或者会话结束。能不能在不中断会话的情况下给虚拟网卡换 ip
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5827 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:19 · PVG 14:19 · LAX 22:19 · JFK 01:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.