Как добавить Alias на сетевой интерфейс в OS Solaris

Бывает нужно добавить второй IP к существующему интерфейсу в OS Solaris. Делается этос ледующим образом:

1. Скопировать уже существующий конфиг с именем:1

cp /etc/hostname.eth0 /etc/hostname.eth0:1

2. Заменяем название интерфейса внутри скопированного конфига на новое, например:

server-eth0 на server-eth0-v1

3. Создаем новый интерфейс командой ifconfig plumb:

ifconfig eth0:1 plumb

4. Назначаем IP адрес новому интерфейсу:

ifconfig eth0:1 192.168.1.135 netmask 255.255.255.0 up

5. Проверяем, что всё поднялось:

ifconfig -a
eth0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.1.135 netmask ffffff80 broadcast 192.255.255.255

ping 192.168.1.135
192.168.1.135 is alive

6. Чтобы при перезагрузке и при рестарте интерфейса сохранялись настройки IP, добвляем адрес в файл /etc/hosts

192.168.1.135 server-eth0-v1

Чтобы удалить интерфейс выполняем команду:

ifconfig eth0:1 unplumb

Источники:

1. http://ciphermethod.com/how-to-create-solaris-virtualalias-interface/

http://geckich.blogspot.com/

Проверка доступности портов между двумя Linux-машинами (для Solaris тоже работает)

Бывают ситуации, когда нам необходимо проверить видимость TCP портов одной машины для другой. Казалось бы всё просто – telnet. А если на серверной машине еще не установлено или не запущено приложение, слушающее нужный порт? Я уверен, что существует масса способов, но мне было проще написать 2 маленьких скрипта на Python.

Один скрипт – сервер. Слушает заданный порт и пишет в консоль информацию о клиентах. А второй – клиентский скрипт – стучится по заданному IP в заданный порт и возвращает ответ от сервера (если порт доступен).

Серверный скрипт.

#!/usr/bin/env python
import socket, sys
# Server address and buffer size
TCP_IP = '0.0.0.0'
BUFFER_SIZE = 1024
# Usage string
usage = "server.py PORT"
# Check number of arguments and print usage if not enough arguments
if (len(sys.argv) < 2):
print(usage)
sys.exit(0)
TCP_PORT = int(sys.argv[1])
# Create socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(1)
# Listen for client connection until Ctrl+C will be pressed
while 1:
c = s.accept()
cli_sock, cli_addr = c
cli_sock.send("Hello, person from %s"%(str(cli_addr)))
cli_sock.close()
print("received data from:", str(cli_addr))


Запуск. Копируем в текстовый файл вышенаписанный код и запускаем:

python server.py <port>

Клиентский скрипт.

#!/usr/bin/env python
import socket, sys
usage = "client.py IP PORT"
# Check number of arguments and print usage if not enough arguments
if (len(sys.argv) < 3):
print(usage)
sys.exit(0)
TCP_IP = sys.argv[1]
TCP_PORT = int(sys.argv[2])
BUFFER_SIZE = 1024
# Create socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
# Recieving response from the server
data = s.recv(BUFFER_SIZE)
s.close()
print("received data:", data)

Запуск. Копируем в текстовый файл вышенаписанный код и запускаем:

python client.py <server_IP> <server_port>

http://geckich.blogspot.com/