cod*_*nja 6 virtualization kvm-virtualization smartos
是否可以?(这个问题的标题)
谷歌搜索Virtualization with one public IP address没有任何用处
我拥有的:
我想做的事:
问题:
这可能吗?
对不起,这一切的新手
研究
http://www.machine-unix.com/beginning-with-smartos/#comment-7256 没有解决我的问题 - 指南设置了一个内部 IP
http://blog.bgentil.fr/smartos-use-global-zone-as-gateway-for-guests.html
想法
是的你可以!
有关 SmartOS 的一般帮助:
Google 将 SmartOS 视为 Solaris 的同义词。始终使用位于 smartos.org 的搜索;不要直接使用谷歌。Freenode 上的#SmartOS 和邮件列表也是非常宝贵的资源。
在数据中心设置单一 IP 的安全问题:
在 SmartOS 中,您通常有一个管理界面(私有/LAN)和一个公共界面(公共/WAN)。我意识到这在您的部署中可能是不可能的,但是知道 KVM 虚拟主机将在管理界面上运行不受保护的 VNC 非常重要。您需要使用防火墙或配置更改来保护它。
您要做的是设置一个区域,作为防火墙、网关、负载平衡器等。该防火墙区域将有两个网卡,一个在管理界面上,一个在 WAN 上。您可以将所有访客置于虚拟交换机上,就像将他们连接到物理交换机一样。
由于您只有一个 IP,我会尝试纠正它,因此在区域中设置这可能会很棘手,如果您弄乱了网络配置,您可能会失去对机器的访问权限。尽管通常不建议这样做,但您可能需要在全局区域中运行防火墙。
为了让客人上网,设置 NAT: http : //wiki.smartos.org/display/DOC/NAT+using+Etherstubs
对于传入的 https/http:我运行一个 nginx 实例,并在 sites-available/sites-enabled 文件夹中为每个服务/网站使用一个文件。带有 SmartOS 的 NGINX 的默认配置是简约的,不会包含这些文件夹。
对于传入的 tcp/udp 服务:您可以使用防火墙区域中的内置防火墙(请参阅 man fwadm),或者如果您想做虚拟主机,则使用 HAProxy。(你可以只使用 HAProxy 并消除 NGINX)
我设置一个可重复的要点这个位置。它是使用永久链接在 github 上设置的,当我接触到良好的更改时,我会保持最新状态,因此它不会很快消失。
首先,您希望完成的图表:
+------------------------------+
| Host |
+----------+ | +--------+ +--------+ |
| Internet +------+ Ext IF +--------+ Int IF | |
+----------+ | | e1000g | | gw0 | |
| +--------+ +---+----+ |
| | |
| +--+-----------+ | |
| |Z1| VNIC1+-----+ |
| +--------------+ | |
| +--------------+ | |
| |Z2| VNIC2+-----+ |
| +--------------+ | |
| +--------------+ | |
| |Z3| VNIC3+-----+ |
| +--+-----------+ |
| |
+------------------------------+
Run Code Online (Sandbox Code Playgroud)
一般来说,您必须首先了解在 SmartOS 上没有一种方法可以设置 nat'd 内部网络,但是每种方法都必须解决一些问题。以下是这些内容的概述:
rdr和外部端口映射(网关将来自内部设备的出站端口映射到不同的外部端口并跟踪其状态,以便返回数据包使其到达应有的内部IP ) 是用map线条实现的。小智 5
我主要同意杰弗里的回答。
然而,我写了你提到的那个特定目的的帖子(用 1 个公共 IP 运行 smartos)所以如果你应用了我的程序,我的建议是这里。
http/https 流量:
在 /etc/ipf/ipnat.conf(或 /opt/custom/share/svc/smartos_setup.sh 中的 NAT 部分)中添加端口重定向
rdr e1000g0 0/0 port 80 -> 10.0.0.2 port 80 tcp
Run Code Online (Sandbox Code Playgroud)在/etc/ipf/ipf.conf(或/opt/custom/share/svc/smartos_setup.sh中的FW部分)添加防火墙规则
pass in quick on e1000g0 from any to e1000g0/32 port=80
pass in quick on e1000g0 from any to 10.0.0.2 port=80
Run Code Online (Sandbox Code Playgroud)重新加载 ipfilter 和 ipnat 规则:
$ ipf -Fa -f /etc/ipf/ipf.conf
$ ipnat -FC -f /etc/ipf/ipnat.conf
Run Code Online (Sandbox Code Playgroud)ssh 流量:
与上面相同,端口 2222 重定向到 10.0.0.2:22, 2223 为 10.0.0.3:22 例如:
rdr e1000g0 0/0 port 2222 -> 10.0.0.2 port 22 tcp
rdr e1000g0 0/0 port 2223 -> 10.0.0.3 port 22 tcp
Run Code Online (Sandbox Code Playgroud)
如果需要,请确保在区域 /etc/ssh/sshd_config 上启用了 root 登录(PermitRootLogin yes)
| 归档时间: |
|
| 查看次数: |
5210 次 |
| 最近记录: |