Переустановка OS X. Настройка VLAN'ов в командной строке

Что-то мне надоело настраивать систему мышью. Мысли о DevOps покоя не дают. Вот и решил при возможности использовать консоль для настройки свежеустановленной системы. Покажу, как настроить сеть.

Интерфейс en0 подключен в коммутатор Cisco RV180w. Интернет доводится через untagged VLAN port, адрес выдаётся по DHCP. Его настраивать не нужно, система сама прекрасно его подхватывает.

В этом же интерфейсе идут три VLAN«а как tagged. Вот их я и настрою через командную строку.

Список интерфейсов, поддерживающих VLAN«ы:

$ networksetup -listdevicesthatsupportVLAN

en0 (Ethernet)

Создаю VLAN«ы (последний параметр — тег):

# Usage: networksetup -createVLAN # Create a VLAN with name over device with unique tag. A default network service will be created over the VLAN.

$ sudo networksetup -createVLAN VLAN1 en0 10 $ sudo networksetup -createVLAN VLAN2 en0 15 $ sudo networksetup -createVLAN VLAN3 en0 30

Проверяю

$ networksetup -listVLANs

VLAN User Defined Name: VLAN1 Parent Device: en0 Device («Hardware» Port): vlan0 Tag: 10

VLAN User Defined Name: VLAN2 Parent Device: en0 Device («Hardware» Port): vlan1 Tag: 15

VLAN User Defined Name: VLAN3 Parent Device: en0 Device («Hardware» Port): vlan2 Tag: 30

Смотрю названия интерфейсов:

$ networksetup -listallnetworkservices VLAN1 Configuration VLAN2 Configuration VLAN3 Configuration

Настраиваю адреса:

# Usage: networksetup -setmanual # Set the TCP/IP configuration to manual with IP address set to ip, # Subnet Mask set to subnet, and Router address set to router.

$ sudo networksetup -setmanual «VLAN1 Configuration» 10.1.1.4 255.255.255.0 $ sudo networksetup -setmanual «VLAN2 Configuration» 10.1.2.4 255.255.255.0 $ sudo networksetup -setmanual «VLAN3 Configuration» 10.1.3.4 255.255.255.0

Эта конфигурация не потеряется при перезагрузке, как было бы при настройке в ifconfig.

К сожалению, статические маршруты прописать так же просто нельзя, я для этого написал скрипт для StartupItems.

Полный текст статьи читайте на TheAppleGeek