AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 454427
Accepted
Tak
Tak
Asked: 2018-07-10 23:00:58 +0800 CST2018-07-10 23:00:58 +0800 CST 2018-07-10 23:00:58 +0800 CST

获取真实 IP 地址 Virtualbox 进行 LDAP 配置

  • 772

我打算在我的 windows 机器上的两个 ubuntu 虚拟机之间设置一个 LDAP 配置。

所以我使用 VirtualBox 在我的 windows 机器上安装了两个 ubuntu 16.04 虚拟机。现在我想获得一个真实的 IP,这样我就可以从任何地方连接到虚拟机。

当我使用NAT它时,将 IP 设置为 10.0.4.14,当我选择时,我Bridged adapter没有Host-only Adapter任何互联网连接。

谁能告诉我在使用带有 Ubuntu 16.04 的 Virtualbox 时如何获得“真实”IP,以便我可以将此 IP 用于 LDAP?

networking ubuntu
  • 1 1 个回答
  • 631 Views

1 个回答

  • Voted
  1. Best Answer
    slm
    2018-07-10T23:51:14+08:002018-07-10T23:51:14+08:00

    流浪汉

    我已经转而使用 Vagrant +Vagrantfiles专门使用 Virtualbox 来执行此操作。这是我使用的一个文件,它在我的笔记本电脑上设置了 2 个虚拟机。

    特点Vagrantfile:

    • 虚拟机是 Ubuntu 16.04 (xenial64)
    • 虚拟机从 LAN 的 DHCP 服务器请求公共 IP 地址
    • 虚拟机将利用您的 Virtualbox 主机的 NIC 接口(参见文件)
    • centos/7如果要切换,我在文件中留下了图像的名称

    流浪者的资源

    • 主站点
    • 安装流浪者
    • Vagrant 盒子的公开目录
    • CentOS/7 盒子文件

    示例 Vagrantfile

    $ cat Vagrantfile
    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    
    ##############
    ### References
    # - https://www.vagrantup.com/docs/vagrantfile/machine_settings.html
    # - https://www.vagrantup.com/docs/vagrantfile/tips.html
    # - https://www.vagrantup.com/docs/networking/forwarded_ports.html
    ##############
    
    #unless Vagrant.has_plugin?("HostManager")
    #  raise 'HostManager plugin not installed!'
    #end
    
    require 'digest/sha1'
    
    uniqID = "_" + (Digest::SHA1.hexdigest Dir.pwd()).slice(0..8)
    image  = "ubuntu/xenial64"
    #image = "centos/7"
    
    if Vagrant::Util::Platform.windows? then
      interfaces = [
        "Intel(R) 82583V Gigabit Network Connection",
        "Intel(R) 82579LM Gigabit Network Connection",
      ]
    elsif Vagrant::Util::Platform.darwin? then
      interfaces = [
        "en0: Wi-Fi (AirPort)",
        "en1: Wi-Fi (AirPort)",
      ]
    else
      interfaces = [
        "eth0",
        "eth1",
        "wlan0",
      ]
    end
    
    
    Vagrant.configure("2") do |config|
      vboxName1 = "box-101"
      hostname1 = "box101"
      config.vm.define "#{vboxName1}" do |front|
        front.vm.box = "#{image}"
        #front.vm.network :private_network, ip: "192.168.56.101"
        front.vm.network :public_network, use_dhcp_assigned_default_route: true, bridge: interfaces
        front.vm.provider :virtualbox do |v|
          v.customize ["modifyvm", :id, "--memory", 512]
          v.customize ["modifyvm", :id, "--name", "#{hostname1}#{uniqID}"]
        end
      end
      vboxName2 = "box-102"
      hostname2 = "box102"
      config.vm.define "#{vboxName2}" do |front|
        front.vm.box = "#{image}"
        #front.vm.network :private_network, ip: "192.168.56.102"
        front.vm.network :public_network, use_dhcp_assigned_default_route: true, bridge: interfaces
        front.vm.provider :virtualbox do |v|
          v.customize ["modifyvm", :id, "--memory", 512]
          v.customize ["modifyvm", :id, "--name", "#{hostname2}#{uniqID}"]
        end
      end
    end
    

    用法

    启动两个虚拟机
     $ vagrant up
    
    一次启动一个虚拟机
     $ vagrant up box-101
     $ vagrant up box-102
    
    SSH 到 VM box-101
    $ vagrant ssh box-101
    Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-130-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
      Get cloud support with Ubuntu Advantage Cloud Guest:
        http://www.ubuntu.com/business/services/cloud
    
    0 packages can be updated.
    0 updates are security updates.
    
    
    /usr/bin/xauth:  file /home/vagrant/.Xauthority does not exist
    vagrant@ubuntu-xenial:~$
    
    确认IP地址
    vagrant@ubuntu-xenial:~$ ip a l
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 02:97:71:8a:f0:d8 brd ff:ff:ff:ff:ff:ff
        inet 10.0.2.15/24 brd 10.0.2.255 scope global enp0s3
           valid_lft forever preferred_lft forever
        inet6 fe80::97:71ff:fe8a:f0d8/64 scope link
           valid_lft forever preferred_lft forever
    3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 08:00:27:e6:43:ac brd ff:ff:ff:ff:ff:ff
        inet 172.16.12.208/24 brd 172.16.12.255 scope global enp0s8
           valid_lft forever preferred_lft forever
        inet6 fe80::a00:27ff:fee6:43ac/64 scope link
           valid_lft forever preferred_lft forever
    vagrant@ubuntu-xenial:~$
    

    注意:您将拥有 2 个接口是预期的行为。Vagrant/Virtualbox 总是设置一个与该接口enp0s3关联的类似10.0.2.15/24接口。这是 Vagrant 在通过 SSH 连接到 VM 时使用的 NIC。

    测试网络连接

    通过上述Vagrantfile和启动的 2 个 VM(box-101 和 box-102),我们可以验证 3 个网络连接场景。注意:在开始之前,请记下 VM 的 IP 地址。

    背景

    对于框 101 (172.16.12.208):
    $ ip a l enp0s8
    3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 08:00:27:e6:43:ac brd ff:ff:ff:ff:ff:ff
        inet 172.16.12.208/24 brd 172.16.12.255 scope global enp0s8
           valid_lft forever preferred_lft forever
        inet6 fe80::a00:27ff:fee6:43ac/64 scope link
           valid_lft forever preferred_lft forever
    
    对于框 102 (172.16.12.116):
    $ ip a l enp0s8
    3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 08:00:27:df:3b:06 brd ff:ff:ff:ff:ff:ff
        inet 172.16.12.116/24 brd 172.16.12.255 scope global enp0s8
           valid_lft forever preferred_lft forever
        inet6 fe80::a00:27ff:fedf:3b06/64 scope link
           valid_lft forever preferred_lft forever
    

    场景

    场景#1:box-102 → box-101
    ## On box-101 run:
    $ nc -l 12345
    
    ## On box-102 run:
    $ curl -v telnet://172.16.12.208:12345
    * Rebuilt URL to: telnet://172.16.12.208:12345/
    *   Trying 172.16.12.208...
    * Connected to 172.16.12.208 (172.16.12.208) port 12345 (#0)
    ^C
    
    场景 #2:Virtualbox 主机 → box-101
    ## On box-101 run:
    $ nc -l 12345
    
    # On Virtualbox Host
    $ curl -v telnet://172.16.12.208:12345
    * Rebuilt URL to: telnet://172.16.12.208:12345/
    *   Trying 172.16.12.208...
    * Connected to 172.16.12.208 (172.16.12.208) port 12345 (#0)
    ^C
    
    场景 #3:远程服务器 → box-101
    ## On box-101 run:
    $ nc -l 12345
    
    ## In Remote Server
    $ curl -v telnet://172.16.12.208:12345
    * About to connect() to 172.16.12.208 port 12345 (#0)
    *   Trying 172.16.12.208...
    * Connected to 172.16.12.208 (172.16.12.208) port 12345 (#0)
    ^C
    
    • 1

相关问题

  • 如何验证我使用 9.9.9.9 作为 DNS?

  • 无法识别arp命令或ip命令哪个MAC地址输出正确

  • 并行安装多个 linux 发行版

  • 奇怪的路由器与centos 6一起工作[关闭]

  • 自编译 OpenVPN 不会从 systemd 启动

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve