можно создать сценарий входа в систему, на который каждый диск укажет на различный сервер.
logon.bat
СЕТЕВОЕ ИСПОЛЬЗОВАНИЕ G: \SERVER01\SHARE/PERSISTENT:NO
СЕТЕВОЕ ИСПОЛЬЗОВАНИЕ J: \SERVER02\SHARE/PERSISTENT:NO
Да, вы можете !
Общая справка по SmartOS:
Google рассматривает SmartOS как синоним Solaris. Всегда пользуйтесь поиском на smartos.org; не используйте Google напрямую. #SmartOS на Freenode и список рассылки также являются бесценными ресурсами.
Проблемы безопасности при настройке одного IP-адреса в центре обработки данных:
В SmartOS обычно есть интерфейс администратора (частный / LAN) и общедоступный (общедоступный / WAN). Я понимаю, что это может быть невозможно в вашем развертывании, но это ' Очень важно знать, что виртуальные хосты KVM будут запускать незащищенный VNC в интерфейсе администратора. Вам нужно будет защитить это с помощью брандмауэра или изменения конфигурации.
Что вам нужно сделать, так это настроить зону, которая будет действовать как брандмауэр, шлюз, балансировщик нагрузки и т. Д. Эта зона брандмауэра будет иметь два сетевых интерфейса, один в интерфейсе администратора, один в глобальной сети. Вы можете разместить всех своих гостей на виртуальном коммутаторе, что будет похоже на подключение их к физическому.
Поскольку у вас только один IP-адрес, который я бы попытался исправить, это может быть сложно настроить в зоне , если вы испортите конфигурацию сети, вы можете потерять доступ к машине. Хотя обычно это не рекомендуется, вам может потребоваться запустить брандмауэр в глобальной зоне.
Чтобы гости могли выходить в Интернет, настройте NAT: http: //wiki.smartos. service / website в папках sites-available / sites-enabled. В конфигурация NGINX со SmartOS по умолчанию минималистична и будет не содержат эти папки.
Для входящих служб tcp / udp: Вы можете использовать встроенный межсетевой экран (см. man fwadm) в зоне вашего брандмауэра или используйте HAProxy, если хотите виртуальные хосты. (Вы можете использовать только HAProxy и исключить NGINX)
I mostly agree with Jeffrey's answer.
However I wrote the post you mentioned for that specific purpose (running smartos with 1 public IP) so here my suggestions if you applied my procedure.
http/https traffic:
Add the port redirection in /etc/ipf/ipnat.conf (or NAT section in /opt/custom/share/svc/smartos_setup.sh)
rdr e1000g0 0/0 port 80 -> 10.0.0.2 port 80 tcp
Add the firewall rule in /etc/ipf/ipf.conf (or FW section in /opt/custom/share/svc/smartos_setup.sh)
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
Reload ipfilter and ipnat rules:
$ ipf -Fa -f /etc/ipf/ipf.conf
$ ipnat -FC -f /etc/ipf/ipnat.conf
ssh traffic:
Same as above with port 2222 redirecting to 10.0.0.2:22, 2223 for 10.0.0.3:22 for instance:
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
if needed, be sure root login is enabled on the zone /etc/ssh/sshd_config (PermitRootLogin yes)
Я установил воспроизводимую суть для этого здесь . Это настройка на github с использованием permalinks, и я держу его в курсе, когда связываюсь с хорошими изменениями, так что он не должен никуда идти в ближайшее время.
Сначала, диаграмма того, что вы хотите сделать:
+------------------------------+
| Host |
+----------+ | +--------+ +--------+ |
| Internet +------+ Ext IF +--------+ Int IF | |
+----------+ | | e1000g | | gw0 | |
| +--------+ +---+----+ |
| | |
| +--+-----------+ | |
| |Z1| VNIC1+-----+ |
| +--------------+ | |
| +--------------+ | |
| |Z2| VNIC2+-----+ |
| +--------------+ | |
| +--------------+ | |
| |Z3| VNIC3+-----+ |
| +--+-----------+ |
| |
+------------------------------+
В общем, сначала вы должны понять, что не существует одного способа установить nat'd внутреннюю сеть на SmartOS, но есть несколько вещей, которые должны быть решены каждым из методов. Вот обзор этих вещей:
rdr
, а внешнее portmapping (шлюз отображает исходящий порт с внутреннего устройства на другой внешний порт и отслеживает его состояние, так что возвращаемый пакет попадает во внутренний ip, который должен) достигается с помощью строк map
.