Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 通过NAT的X转发_Oracle_Amazon Web Services_Oracle11g_X11_X11 Forwarding - Fatal编程技术网

Oracle 通过NAT的X转发

Oracle 通过NAT的X转发,oracle,amazon-web-services,oracle11g,x11,x11-forwarding,Oracle,Amazon Web Services,Oracle11g,X11,X11 Forwarding,我正在尝试在AWS Linux机器上从头开始安装Oracle 11g。为了做到这一点,我相信我需要启用X转发,以便我可以使用图形安装。我从来都不擅长X服务器/客户端的情况 设置: cygwin64(本地) NAT实例(亚马逊) 私有子网中的Linux实例,可通过上述NAT(亚马逊)访问 我想通过NAT将Oracle安装从Linux实例转发到我的本地机器。任何帮助都将不胜感激。我很乐意提供更多的信息,尤其是因为到目前为止我还没有提供太多信息。我也很想听到这样的说法:我完全错了,从命令行安装Or

我正在尝试在AWS Linux机器上从头开始安装Oracle 11g。为了做到这一点,我相信我需要启用X转发,以便我可以使用图形安装。我从来都不擅长X服务器/客户端的情况

设置

  • cygwin64(本地)
  • NAT实例(亚马逊)
  • 私有子网中的Linux实例,可通过上述NAT(亚马逊)访问

我想通过NAT将Oracle安装从Linux实例转发到我的本地机器。任何帮助都将不胜感激。我很乐意提供更多的信息,尤其是因为到目前为止我还没有提供太多信息。我也很想听到这样的说法:我完全错了,从命令行安装Oracle很容易。

在X世界中,客户端和服务器似乎“向后”,因为您的工作站就是“服务器”,提供显示设备和键盘/鼠标服务。。。而您正在运行的程序(通常是远程运行的)是“客户端”,使用这些显示和输入设备服务

因此,您想要运行的程序需要能够“向后”连接到您的机器,但是您可以暂时忘记NAT方面,因为这与NAT没有直接关系。重要的是,您有一种从端到端建立SSH连接链的方法,这应该是您所需要的,因为SSH可以完成这项工作。在回答这个问题时,没有防火墙受到损害

我不知道cygwin有什么样的SSH实用程序,但它大概是可以比较的。我首先在端到端Linux上测试了以下内容,然后在工作站的Windows 7桌面计算机上用“\Program Files(x86)\PuTTY\PuTTY.exe”替换“ssh”。这两种场景都按预期工作,而且参数也很方便地相同

我们将NAT机器主机名称为“natbox”,数据库称为“databox”

在您的本地计算机上,您的X服务器可能正在侦听端口6000,因此我们需要将流量返回到它

workstation $ ssh -R 127.0.0.1:5555:127.0.0.1:6000 natbox
我任意选择了5555,但任何超过1024的未使用值都可以工作。您也可以使用6000,但这会使示例更加违反直觉

第一个IP/端口对127.0.0.1:5555表示远程机器(natbox)。您的SSH会话将打开一个套接字,监听远程计算机上环回接口的端口5555。第二个IP/端口对127.0.0.1:6000指的是您的工作站,它是流量要返回的地方。到“natbox”上端口5555的连接将通过隧道传输回您的工作站,并尝试连接到您的本地端口6000

natbox $
现在我们登录到natbox,隧道已经建了一半

natbox $ ssh -R 127.0.0.1:6000:127.0.0.1:5555 databox
这将建立到“databox”的SSH连接,并在该服务器绑定到环回地址的端口6000上打开一个侦听套接字。到达该端口的连接将通过ssh连接发送回“natbox”,并尝试连接到natbox的端口5555。。。在上一步中,我们已经将其链接回您工作站的端口6000——您的X服务器

databox $ export DISPLAY=:0.0
databox $
完成了

在“databox”上运行的任何X客户端程序都将尝试连接到端口6000上本地计算机的显示器“0”。。。它应该会回到你的控制台上

databox $ xterm
这将从本地显示器上的“数据箱”打开一个终端窗口。您不需要这样做,但是在不将Oracle组件拖到混合中的情况下,验证和排除X设置的故障可能会更容易



请注意,ssh
-R
选项中对127.0.0.1的第一次引用(以及它与第一个端口号之间的
)实际上是隐式的,但我包含了它们,因为我觉得这稍微有点不直观。也可以通过在中间机器上提供“command to execute”作为本地机器上“ssh”的最终参数,在单个命令行上以级联方式设置此选项,只要您向第一个ssh添加一个
-t
,以便它知道您想要一个tty端到端。。。但是它已经够复杂了,所以我没有把它包括在内。

我发现X11安装程序在本地运行时很痛苦,而且远程运行速度非常慢,甚至在局域网上也是如此。我总是使用静默安装。这并不容易,但更容易,而且可以重复,这是一个额外的好处。这对你来说可行吗?:我知道这一点,但在我的搜索过程中,文档太差了,我甚至没有考虑它。如果有好的资源,我很乐意尝试一下。在这种情况下,“好”可能意味着“在整个过程中握住我的手”,我担心。运行静默安装或创建响应文件,哪一点更令人担忧?如果你熟悉这些选项,后者也没那么糟糕。您可以从安装中包含的一些模板开始。您还可以在(本地)安装中生成一个响应文件,该文件将反映您在GUI中选择的所有选项,您只需更改一些简单的内容,如ORACLE_主路径、用户名和组名等。否则,如何访问AWS(我不熟悉!);您有
ssh
访问权限吗?在
ssh
上对X11进行隧道传输可能相当轻松。这是我应该提供更多信息的一部分,因为这不是每个人都知道的。我拥有对NAT的SSH访问权,这反过来又使我能够对Linux服务器进行SSH访问。但是,我不能直接用SSH连接到Linux服务器,我接受这个答案,因为它是一个彻底、准确、写得相当好的答案。然而,我能够采取我认为更简单的方法。在本地计算机上适当设置
显示
变量,我运行
xhost+
。然后,
ssh-X
(通过我的
.ssh/config
中的NAT代理)。我可以通过以root用户身份运行
xclock
来确保它正常工作。我原以为我是清白的,但X抱怨错误的aut