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

IP 访问限制, 怎么通过技术手段突破限制

  •  
  •   gancl · 2018-05-24 23:30:06 +08:00 · 4217 次点击
    这是一个创建于 2377 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司的 oracle 数据库做了 IP 访问限制, 我的电脑 IP 有访问权限,我的电脑的虚拟机 IP 没有访问权限,怎么通过技术手段突破限制?

    我尝试虚拟机访问我的电脑用 nginx 做转发,没用:

    stream { upstream oraracCd {
    hash $remote_addr consistent; server 172.17.23.11:1521;
    } }

    通过改虚拟机的 IP 为我的电脑的 IP 这样操作太麻烦. 用 ngrok 是否可行? 有其他的技术手段吗?

    7 条回复    2018-05-27 10:21:57 +08:00
    NeilWang
        1
    NeilWang  
       2018-05-24 23:40:18 +08:00 via Android
    虚拟机网络使用 NAT 模式的话,访问网络就是用的宿主机的 ip
    gancl
        2
    gancl  
    OP
       2018-05-24 23:51:08 +08:00
    @NeilWang 其实是我虚拟机里的 Docker 去访问 oracle, docker 也要设置为 NAT 模式吧?
    WordTian
        3
    WordTian  
       2018-05-24 23:52:53 +08:00 via Android
    本机弄个 socks 服务,虚拟机连接到本机的 socks 代理
    MonoLogueChi
        4
    MonoLogueChi  
       2018-05-25 02:41:01 +08:00 via Android
    用主机给虚拟机开代理,或者是使用 Nat 模式。虚拟机设置成 Nat 模式应该就可以了吧,docker 应该无所谓了,因为虚拟机已经在主机了内网了,docker 再怎么连也不会跳出内网吧。
    gancl
        5
    gancl  
    OP
       2018-05-26 09:30:36 +08:00
    g@ubuntu:~$ ifconfig
    br-bd918c09d16c Link encap:Ethernet HWaddr 02:42:f2:35:bd:70
    inet addr:172.19.0.1 Bcast:172.19.255.255 Mask:255.255.0.0
    inet6 addr: fe80::42:f2ff:fe35:bd70/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:52 errors:0 dropped:0 overruns:0 frame:0
    TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:3472 (3.4 KB) TX bytes:5199 (5.1 KB)

    docker0 Link encap:Ethernet HWaddr 02:42:8c:2f:8f:90
    inet addr:172.18.0.1 Bcast:172.18.255.255 Mask:255.255.0.0
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    ens33 Link encap:Ethernet HWaddr 00:0c:29:31:f4:03
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:2056 errors:0 dropped:0 overruns:0 frame:0
    TX packets:2056 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:161192 (161.1 KB) TX bytes:161192 (161.1 KB)

    veth6edec6e Link encap:Ethernet HWaddr ea:00:1d:b9:d4:48
    inet6 addr: fe80::e800:1dff:feb9:d448/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:10 errors:0 dropped:0 overruns:0 frame:0
    TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:756 (756.0 B) TX bytes:6633 (6.6 KB)

    veth7b3cb4b Link encap:Ethernet HWaddr c6:69:f0:4f:45:3e
    inet6 addr: fe80::c469:f0ff:fe4f:453e/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:4988 (4.9 KB)

    vethcfc6c98 Link encap:Ethernet HWaddr ce:e2:68:4c:c2:c0
    inet6 addr: fe80::cce2:68ff:fe4c:c2c0/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:42 errors:0 dropped:0 overruns:0 frame:0
    TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:3444 (3.4 KB) TX bytes:6150 (6.1 KB)


    @MonoLogueChi
    @NeilWang
    转成 NAT 后连 Docker 里的 80 端口都访问不了, 也 ping 不了; 我的电脑地址是 172.17.32.250, 虚拟机里的 IP 怎么不是你们说的 IP 一样,而是变成了 172.19.0.1; docker 的 IP 也和虚拟机的不一样,是 172.18.0.1
    要怎么解决?
    NeilWang
        6
    NeilWang  
       2018-05-26 12:48:25 +08:00 via Android
    @gancl 这样是正常的,虽然 3 个 ip 不一样,但虚拟机或者 docker 访问网络时,数据出物理网卡时带的 ip 是你物理主机的 ip,至于你现在访问不了 docker 的 80 端口,你需要去虚拟机网络设置里去设置 NAT 端口映射。你可以去搜索一下“虚拟机 nat 端口映射”
    gancl
        7
    gancl  
    OP
       2018-05-27 10:21:57 +08:00
    @MonoLogueChi
    @NeilWang 感谢,完美解决!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5889 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:00 · PVG 10:00 · LAX 18:00 · JFK 21:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.