我在 Amazon AWS 上运行一项服务,该服务对我的办公室计算机 IP 地址(如 10.xxx)的入站连接有限制
当我在家时,我连接到 VPN,当我执行 hostname -i 时,我的 IP 地址是 192.168.xx
我有一个在机器上运行的服务,该服务向 AWS 发送消息。当我在家运行该服务时,它发送 IP 为 192.168.xx 有没有办法可以将我的机器的 IP 地址更改为 10.xxx 我正在运行 Windows 7。如果可能的话,我可以设置 Virtual Box。我想我应该能够为 VirtualBox 中运行的机器分配选择的 IP 地址并在其中运行我的服务。
答案1
你可以设置一个虚拟机并给它(几乎)任何你想要的IP地址,但这对你根本没有帮助。
10.xxx 和 192.168.xx 都是范围私人地址。这些地址仅在组织内部使用,不会在 Internet 上路由。
亚马逊不会将您的工作计算机视为 10.xxx,而是将其视为来自位于您的工作计算机和互联网之间的某个网关计算机。网关机执行网络地址转换使具有私有地址的工作机器能够与外界对话——如果没有公共地址,机器就无法直接与外界对话。
如果您尝试从家里直接连接到亚马逊机器,您的连接将显示为来自属于您家中 ISP 的地址。如果您使用 VPN,您的连接将显示为来自该 VPN 的互联网网关。在典型的企业 VPN 设置中,该网关与您工作时的网关相同。如果您可以在工作中连接到 Amazon,但在登录公司 VPN 时却无法连接,那么这是由于您工作的网络设置中的某些问题造成的 - 可能存在禁止这样做的策略。
如果您无法更改策略,您可以使用另一台工作机器作为中继。假设Amazon机器的地址是203.0.113.65,您可以通过SSH登录到公司环境中的机器10.1.2.3,并且允许该机器与Amazon机器通信。您可以使 10.1.2.3 从家里的笔记本电脑中继到 Amazon 计算机的连接:
ssh -L 1234:203.0.113.65:1234 10.1.2.3
然后告诉笔记本电脑上的软件连接到 localhost:1234。 ssh 客户端会将连接中继到 10.1.2.3,10.1.2.3 又将其中继到 203.0.113.65。
答案2
Virtualbox 有一个内置的 DHCP 服务器,您必须禁用它,并且必须为您的来宾静态分配地址:
#!/bin/sh
VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.1.5 --netmask 255.255.0.0
VBoxManage dhcpserver remove --ifname vboxnet0
VBoxManage dhcpserver remove --ifname vboxnet1
如果我没有弄错的话,你必须运行两次,一次由你的用户运行,然后由 root 运行。
答案3
在办公室中,您无法更改 ip 地址,因为 bcoz 交换机将配置为在 10.Xxx 范围内工作。
但是你可以在你的系统中安装虚拟机并分配任何静态IP。它可以在安装操作系统时或安装后完成。
如果您在安装过程中选择分配静态IP,请进入网络适配器设置输入静态IP。或者如果安装后,根据您的操作系统发行版在 /etc/network/interface(ubuntu) 或 /etc/init.d/network/ifcfg-ethX(redhat) 中进行编辑。
您可以编辑您选择的静态 IP。