Вначале скачиваем RPM с утилитой (Solarflare Linux Utilities RPM (64bit)) с сайта производителя.
Затем на сервере выполняем команду:
sfupdate
Solarstorm firmware update utility [v6.0.0]
Copyright Solarflare Communications 2006-2015, Level 5 Networks 2002-2005
eth0 - MAC: **-**-**-**-**-**
Firmware version: v6.1.0
Controller type: Solarflare SFC9000 family
Controller version: v3.3.2.1000
Boot ROM version: v4.5.2.1010
The Boot ROM firmware is up to date
The controller firmware is up to date
eth1 - MAC: **-**-**-**-**-**
Firmware version: v6.1.0
Controller type: Solarflare SFC9000 family
Controller version: v3.3.2.1000
Boot ROM version: v4.5.2.1010
The Boot ROM firmware is up to date
The controller firmware is up to date
В данном примере прошивки на адаптерах последней версии, но если потребуется обновление, то выполняем команду:
sfupdate --write
Соглашаемся (Y, Enter) и ждем окончания процесса обновления.
На всякий случай напомню, что в процессе обновления может пропасть доступ к серверу по сети, потому обновление лучше выполнять не через ssh, а находясь у непосредственно сервера или используя системы удаленного управления, поставляемые вместе с сервером (iDRAC (Dell), IMM (IBM), iLO (HP) etc.)
Показаны сообщения с ярлыком network. Показать все сообщения
Показаны сообщения с ярлыком network. Показать все сообщения
16 июл. 2016 г.
15 февр. 2016 г.
Как добавить 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. Скопировать уже существующий конфиг с именем: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/
4 дек. 2014 г.
Linux подмена src для TCP/IP пакетов без использования iptables
Допустим, у нас есть два IP адреса на физической карточке (второй настроен как alias) - 192.168.1.2 и 192.168.1.3.
По умолчанию для подсети 192.168.2.0/24 пакеты идут через интерфейс 192.168.1.2, но мы хотим, чтобы поле src пакетов для определенного dst (в нашем примере - это хост 192.168.2.10) было 192.168.1.3.
Для этого не применяя iptables (который работает на сетевом уровне (Network Layer) модели OSI), можно применить команду ip route, которая всё сделает быстрее, на Link Layer'e:
ip route add 192.168.2.10/32 via 192.168.2.1 dev eth0 src 192.168.1.3
По умолчанию для подсети 192.168.2.0/24 пакеты идут через интерфейс 192.168.1.2, но мы хотим, чтобы поле src пакетов для определенного dst (в нашем примере - это хост 192.168.2.10) было 192.168.1.3.
Для этого не применяя iptables (который работает на сетевом уровне (Network Layer) модели OSI), можно применить команду ip route, которая всё сделает быстрее, на Link Layer'e:
ip route add 192.168.2.10/32 via 192.168.2.1 dev eth0 src 192.168.1.3
20 нояб. 2014 г.
Добавление второго IP-адреса (алиаса) к сетевой карте в Windows из командной строки (cmd)
Напомню, что для добавления адреса к сетевой карте в GUI необходимо зайти в свойства сетевой карты, свойства протокола TCP/IPv4 и там - в Дополнительно и Добавить:
Но для скриптования или удаленного доступа может пригодиться команда для добавления нетворк алиасов в cmd:
netsh -c Interface ip add address name="Local Area Connection" addr=192.168.1.9 mask=255.255.255.0
А также для их удаления:
netsh -c Interface ip delete address name="Local Area Connection" addr=192.168.1.9
Где name - это название сетевого адаптера, например, в Центре управления сетями / Сетевые подключения. Адрес и маска - понятно.
Команда требует административных привелегий, конечно же.
Ссылки:
Источник
Но для скриптования или удаленного доступа может пригодиться команда для добавления нетворк алиасов в cmd:
netsh -c Interface ip add address name="Local Area Connection" addr=192.168.1.9 mask=255.255.255.0
А также для их удаления:
netsh -c Interface ip delete address name="Local Area Connection" addr=192.168.1.9
Где name - это название сетевого адаптера, например, в Центре управления сетями / Сетевые подключения. Адрес и маска - понятно.
Команда требует административных привелегий, конечно же.
Ссылки:
Источник
7 июл. 2014 г.
Удаленное выполнение команд на Windows
Для удаленного выполнения команд в Windows есть отличная штука - PsExec. Принципиально похожа на линуксовый SSH. Эта утилита работает со всеми версиями Windows, начиная с XP (XP, 2003, Vista, 2008, 7,8, 2012).
Итак, на локальной машине скачиваем утилиту (точнее, набор утилит), с сайта Microsoft Technet и распаковываем, например, в папку C:\PSTools.
Далее, открываем консоль путем [Win+R] или Пуск - Выполнить - cmd.
Переходим в распакованную папку:
cd C:\PSTools
Теперь мы можем выполнять команды на удаленной Windows машине, запуская psecex в таком формате:
psexec \\remote_name_or_ip -u user -p password command
На удаленной машине должны быть запущены службы Server и Workstation.
Вот так - из-коробки - работает только на Windows 2003/XP. В версиях начиная с Vista из-за другого механизма доступа (UAC и т. д.), необходимо немного "пошаманить".
На удаленной машине под управлением Windows Vista или поздней открываем Редактор Реестра (Start - Run - regedit) и создаём ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy типа DWORD и со значением 1.
Всё, теперь можно выполнять команды и на удаленной Vista+ системе, выполняя следующую команду:
psexec \\remote_name_or_ip -u user -p password -h command
Флаг -h нужен, чтобы запустить команду от имени Администратора.
Если имя пользователя и праоль совпадают с локальными - их можно не указывать, так же как и пароль - он будет запрошен.
А для того, чтобы получить шелл на удаленной машине, выполняем команду:
psexec \\remote_name_or_ip -u user -p password -h cmd
Ссылки:
Итак, на локальной машине скачиваем утилиту (точнее, набор утилит), с сайта Microsoft Technet и распаковываем, например, в папку C:\PSTools.
Далее, открываем консоль путем [Win+R] или Пуск - Выполнить - cmd.
Переходим в распакованную папку:
cd C:\PSTools
Теперь мы можем выполнять команды на удаленной Windows машине, запуская psecex в таком формате:
psexec \\remote_name_or_ip -u user -p password command
На удаленной машине должны быть запущены службы Server и Workstation.
Вот так - из-коробки - работает только на Windows 2003/XP. В версиях начиная с Vista из-за другого механизма доступа (UAC и т. д.), необходимо немного "пошаманить".
На удаленной машине под управлением Windows Vista или поздней открываем Редактор Реестра (Start - Run - regedit) и создаём ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy типа DWORD и со значением 1.
Всё, теперь можно выполнять команды и на удаленной Vista+ системе, выполняя следующую команду:
psexec \\remote_name_or_ip -u user -p password -h command
Флаг -h нужен, чтобы запустить команду от имени Администратора.
Если имя пользователя и праоль совпадают с локальными - их можно не указывать, так же как и пароль - он будет запрошен.
А для того, чтобы получить шелл на удаленной машине, выполняем команду:
psexec \\remote_name_or_ip -u user -p password -h cmd
Ссылки:
15 янв. 2014 г.
Как перенаправить порт в Windows встроенными средствами
Перенаправление порта (port forwarding, port mapping) может понадобиться, когда у машины PC1 есть доступ в сеть 1 и сеть 2, а у машины PC1 - только в сеть 1, а ей нужно подключиться к какому-то сервису на машине PC3 в сети 2. В таком случае схема будет примерно такая:
В данном примере необходимо на PC2 открыть CMD с правами администратора и выполнить команду:
netsh interface portproxy add v4tov4 listenport=2222 listenaddress=192.168.1.3 connectport=22 connectaddress=192.168.2.5
Чтобы удалить форвардинг - команда:
netsh interface portproxy delete v4tov4 listenport=2222 listenaddress=192.168.1.3
Ссылки:
http://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx#BKMK_1
netsh interface portproxy add v4tov4 listenport=2222 listenaddress=192.168.1.3 connectport=22 connectaddress=192.168.2.5
Чтобы удалить форвардинг - команда:
netsh interface portproxy delete v4tov4 listenport=2222 listenaddress=192.168.1.3
Ссылки:
http://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx#BKMK_1
7 окт. 2013 г.
Проверка доступности портов между двумя Linux-машинами (для Solaris тоже работает)
Бывают ситуации, когда нам необходимо проверить видимость TCP портов одной машины для другой. Казалось бы всё просто - telnet. А если на серверной машине еще не установлено или не запущено приложение, слушающее нужный порт? Я уверен, что существует масса способов, но мне было проще написать 2 маленьких скрипта на Python.
Один скрипт - сервер. Слушает заданный порт и пишет в консоль информацию о клиентах. А второй - клиентский скрипт - стучится по заданному IP в заданный порт и возвращает ответ от сервера (если порт доступен).
Серверный скрипт.
Один скрипт - сервер. Слушает заданный порт и пишет в консоль информацию о клиентах. А второй - клиентский скрипт - стучится по заданному 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))
4 окт. 2013 г.
Использование iperf для тестирования мультикаста
Для того, чтобы проверить, приходит ли на наш сервер/рабочую машину/ПК мультикаст, можно использовать и tcpdump:
tcpdump -i bond0.666 udp -nn port 4444
но он не делает join к мультикаст группе и, в зависимости от настройки сетевого оборудования, вы можете мультикаст и не увидеть.
Лучше использовать утилиту iperf. Она служит для анализа быстродействия сети, и для наших целей отлично подходит.
yum install http://pkgs.repoforge.org/iperf/iperf-2.0.4-1.el6.rf.x86_64.rpm
или
rpm -Uhv http://pkgs.repoforge.org/iperf/iperf-2.0.4-1.el6.rf.x86_64.rpm
Далее, если адрес мультикаст группы 239.200.1.1, а порт 4444, то делаем команду и смотрим результат:
iperf -s -u -B 239.200.1.1 -i 1 -p 4444
здесь
tcpdump -i bond0.666 udp -nn port 4444
но он не делает join к мультикаст группе и, в зависимости от настройки сетевого оборудования, вы можете мультикаст и не увидеть.
Лучше использовать утилиту iperf. Она служит для анализа быстродействия сети, и для наших целей отлично подходит.
Итак, на Debian устанавливаем просто:
aptitude install iperf
А для RHEL дистрибутивов (RedHat, Oracle Linux, CentOS etc.) нужно или добавить репозиторий RepoForge или посмотреть пакет для своей версии ОС тут http://pkgs.repoforge.org/iperf/ и установить, например:
или
rpm -Uhv http://pkgs.repoforge.org/iperf/iperf-2.0.4-1.el6.rf.x86_64.rpm
Далее, если адрес мультикаст группы 239.200.1.1, а порт 4444, то делаем команду и смотрим результат:
iperf -s -u -B 239.200.1.1 -i 1 -p 4444
здесь
- -s -режим сервера,
- -u - использовать UDP,
- -i 1 - выводить информацию каждую секунду,
- -B и -p - адрес нашего мультикаста.
17 мая 2013 г.
Просмотр подробной информации о сетевой карточке в Linux
Недавно нужно было узнать параметры карточки на удаленном сервере (под управлением Linux). А точнее, её модель. Команды
ethtool -i eth0
miitool -vv eth0
показывают версию или драйвера или чипа. Но нашел способ узнать побольше о карточке, как оказалось достаточно очевидный:
lspci -vv | egrep -i --color 'network|ethernet'
Здесь мы получим информацию наподобии такой:
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
Цифры вначале - адрес устройства на шине PCI. Берем его и пихаем аргументом в команду:
lspci -vv -s 07:00.0
Вот теперь мы можем посмотреть максимум о карточке.
ethtool -i eth0
miitool -vv eth0
показывают версию или драйвера или чипа. Но нашел способ узнать побольше о карточке, как оказалось достаточно очевидный:
lspci -vv | egrep -i --color 'network|ethernet'
Здесь мы получим информацию наподобии такой:
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
Цифры вначале - адрес устройства на шине PCI. Берем его и пихаем аргументом в команду:
lspci -vv -s 07:00.0
Вот теперь мы можем посмотреть максимум о карточке.
25 февр. 2013 г.
Как подписаться на мультикаст, Linux
Если вам нужно слушать в сети мультикаст, то скорее всего, вам нужно на него подписаться - на то он и мульти, а не броад :) Делается это командой:
ip maddr add 224.0.0.1 dev eth0
ip maddr add 224.0.0.1 dev eth0
где 224.0.0.1 - адрес мультикастовой группы, а eth0 - интерфейс, на который этот мультикаст будем получать.
Отписаться от получения мультикаста так же просто:
ip maddr del 224.0.0.1 dev eth0
Посмотреть список подписок:
Посмотреть список подписок:
ip maddr show
Или в несколько другом виде:
netstat -g
netstat -g
12 февр. 2013 г.
Настройка Interface Teaming (bonding) и привязка к VLAN тегам в RHEL6 (Oracle Linux 6)
Для начала создадим конфигурационный файл для modprobe, в котором расскажем какой интерфейс мы будет обрабатываться модулем bonding:
nano /etc/modprobe.d/bond.conf
alias bond0 bonding
alias ipv6 "disable=1"
Заодно отключим IPv6 (если вы его не используете).
Далее переходим в директорию /etc/sysconfig/network-scripts/ где хранятся конфиги всех сетевых интерфейсов в формате ifcfg-<interface>
Создаем здесь конфиг для нашего нового bond интерфейса:
ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
#IPADDR=192.168.1.2
BONDING_OPTS="mode=4 miimon=1000"
VLAN=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
Здесь можете не указывать адрес, если хотите получать трафик только по VLAN тегам.
По опциям:
nano /etc/modprobe.d/bond.conf
alias bond0 bonding
alias ipv6 "disable=1"
Заодно отключим IPv6 (если вы его не используете).
Далее переходим в директорию /etc/sysconfig/network-scripts/ где хранятся конфиги всех сетевых интерфейсов в формате ifcfg-<interface>
Создаем здесь конфиг для нашего нового bond интерфейса:
ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
#IPADDR=192.168.1.2
BONDING_OPTS="mode=4 miimon=1000"
VLAN=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
Здесь можете не указывать адрес, если хотите получать трафик только по VLAN тегам.
По опциям:
- mode - определяет режим, который выбирается из соображений, чего вы хотите от бонда и вашей сетевой инфраструктуры. Описание режимов здесь.
- miimon - нужен для failover'а - в мс как часто модуль mii будет мониторить карточки на их доступность. Если феиловер не нужен, то можно ставить побольше, если нужен, то 10, 20
10 янв. 2013 г.
How to measure network throughoutput and another parameters of Windows machine using NT Testing TCP Tool (ntttcp)
Update.
Для того, чтобы протестировать сеть между двумя Windows-машинами, необбходимо скачать бесплатный инструмент NT TCP Testing tool от Microsoft отсюда.
Скачиваем, распаковываем, например, на диск С: в корень.
Далее на первой машине открываем cmd и заходим в папку соответствующую архитектуре Windows:
cd C:\NTttcp-v5.28\x64
запускаем в режиме приемника:
NTttcp.exe -r -m 4,0,10.1.2.3 -a 6
где -r - режим приемника,
-m - количество_сессий,Номер_ЦП,IP_этой_машины
На втором ПК/сервере делаем то же самое, только вместо ключа -r указываем ключ -s и IP первой машины.
После того, как тест пройдет, наслаждаемся результатами выведенными в консоль.
Для того, чтобы протестировать сеть между двумя Windows-машинами, необбходимо скачать бесплатный инструмент NT TCP Testing tool от Microsoft отсюда.
Скачиваем, распаковываем, например, на диск С: в корень.
Далее на первой машине открываем cmd и заходим в папку соответствующую архитектуре Windows:
cd C:\NTttcp-v5.28\x64
запускаем в режиме приемника:
NTttcp.exe -r -m 4,0,10.1.2.3 -a 6
где -r - режим приемника,
-m - количество_сессий,Номер_ЦП,IP_этой_машины
На втором ПК/сервере делаем то же самое, только вместо ключа -r указываем ключ -s и IP первой машины.
После того, как тест пройдет, наслаждаемся результатами выведенными в консоль.
19 дек. 2012 г.
Настройка сетевого интерфейса в RHEL6 (RedHat, CentOS, Oracle Linux)
Решил вот сделать заметку о настройке сетевых интерфейсов RHEL (RedHat, CentOS, Oracle Linux, Fedora).
Вначале редактируем файлик настройки интерфейса, например eth1 (<> - означает специфические значения):
nano /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
Вначале редактируем файлик настройки интерфейса, например eth1 (<> - означает специфические значения):
nano /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.2
PREFIX=24
NETMASK=255.255.255.0
NETMASK=255.255.255.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
UUID=<>
ONBOOT=yes
HWADDR=<>
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8
VLAN=yes
MASTERr=bond0
SLAVE=yes
VLAN=yes
MASTERr=bond0
SLAVE=yes
Строки говорят сами за себя. HWADDR и UUID проще не указывать, чтобы система сама их розчехлила, а если и указывать, то точно для вашего адаптера.
- BOOTPROTO=none - при задании статического адреса. Для получения динамического адреса, здесь необходимо указать =dhcp
- VLAN=yes - если мы настраиваем интерфейс для работы с тегами VLAN.
- MASTERr=bond0 - если мы настраиваем интерфейс как часть бонда
- SLAVE=yes - если мы настраиваем интерфейс как часть бонда
- NETMASK=255.255.255.0 - указываем только ОДИН из параеметров - или NETMASK или PREFIX
Далее редактируем:
nano /etc/sysconfig/network
nano /etc/sysconfig/network
18 дек. 2012 г.
Сеть 1Gb (1000BaseT) на контроллерах RTL8111/8168B встроенных в материнскую плату
Недавно столкнулся с тем, что драйвер для интегрированного в материнскую плату сетевого адаптера RealTek RTL8111/8168B/8169, идущий вместе с ОС Debian / Oracle Linux 6 ни в какую не хочет работать в режиме 1Gb.
Проблема эта решается установкой свежей версии драйвера.
В Debian 7 я эту проблему решил установкой драйвера из исходников:
1. Переходим на сайт разработчика Realtek и качаем нужную нам версию (LINUX driver for kernel 3.x and 2.6.x and 2.4.x) с миррора поближе к нам. Ссылки там сделаны в виде жабаскриптов, потому из консоли мне скачать не удалось, да и не беда это. Скачиваем, затем по scp или ещё как копируем на сервер файлик r8168-8.034.00.tar.bz.
2. Распаковываем и переходим в директорию:
tar -xjvf r8168-8.034.00.tar.bz
cd r8168-8.034.00
aptitude install build-essential linux-headers-$(uname -r)
Проблема эта решается установкой свежей версии драйвера.
В Debian 7 я эту проблему решил установкой драйвера из исходников:
1. Переходим на сайт разработчика Realtek и качаем нужную нам версию (LINUX driver for kernel 3.x and 2.6.x and 2.4.x) с миррора поближе к нам. Ссылки там сделаны в виде жабаскриптов, потому из консоли мне скачать не удалось, да и не беда это. Скачиваем, затем по scp или ещё как копируем на сервер файлик r8168-8.034.00.tar.bz.
tar -xjvf r8168-8.034.00.tar.bz
cd r8168-8.034.00
3. Устанавливаем необходимые пакеты, если их еще нет:
14 дек. 2012 г.
Добавление статического роута в RHEL дистрибутивах (RedHat, Oracle, CentOS, etc.)
Роуты нужно класть в папку /etc/sysconfig/network-scripts/ в виде текстового файлика route-X где Х - имя интерфейса. Например:
nano /etc/sysconfig/network-scripts/route-eth0
в формате
192.168.1.0/24 via 192.168.1.1
или
ADDRESS0=192.168.1.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.1
Если роутов нужно больше одного, то для первого формата просто записываем с новой строки, а для второго - меняем цифру:
ADDRESS1=192.168.2.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.2.1
Проверяем:
netstat -rn
route -n
Добавить не статический роут можно командой:
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1
nano /etc/sysconfig/network-scripts/route-eth0
в формате
192.168.1.0/24 via 192.168.1.1
или
ADDRESS0=192.168.1.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.1
Если роутов нужно больше одного, то для первого формата просто записываем с новой строки, а для второго - меняем цифру:
ADDRESS1=192.168.2.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.2.1
Проверяем:
netstat -rn
route -n
Добавить не статический роут можно командой:
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1
8 окт. 2012 г.
Удаленное логирование сообщений роутера (например, Asus-16n)
Полезная фишка есть в сетевом оборудовании - запись своих логов на удаленный сервер. А дальше эти логи могут выгребаться каким-либо скриптом, отсылаться на электронную почту и так далее.
На самом сетевом оборудовании логирование на удаленный сервер настраивается по-разному, но как-правило нужно просто прописать адрес лог-сервера и - возможно - порт.
Заходим на сервер, на котором предполагается хранить логи раутера, и правим /etc/rsyslog.conf
Включаем модули для сбора удаленных логов:
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
И дописываем в секцию Rules правило для записи логов роутера в отдельный файл:
###############
#### RULES ####
###############
if $hostname contains 'asus16n' then /var/log/router.log;TraditionalFormat
Теперь все сообщения от источника с именем хоста asus16n будут записываться кроме общей лого-свалки, в отдельный файл /var/log/router.log. Для другого оборудовая скорее всего будут другие ключевые слова для парсинга логов.
Поправка:
В некоторых версиях rsyslog вместо TraditionalFormat нужно писать RSYSLOG_TraditionalFileFormat
На самом сетевом оборудовании логирование на удаленный сервер настраивается по-разному, но как-правило нужно просто прописать адрес лог-сервера и - возможно - порт.
Заходим на сервер, на котором предполагается хранить логи раутера, и правим /etc/rsyslog.conf
Включаем модули для сбора удаленных логов:
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
И дописываем в секцию Rules правило для записи логов роутера в отдельный файл:
###############
#### RULES ####
###############
if $hostname contains 'asus16n' then /var/log/router.log;TraditionalFormat
Теперь все сообщения от источника с именем хоста asus16n будут записываться кроме общей лого-свалки, в отдельный файл /var/log/router.log. Для другого оборудовая скорее всего будут другие ключевые слова для парсинга логов.
Поправка:
В некоторых версиях rsyslog вместо TraditionalFormat нужно писать RSYSLOG_TraditionalFileFormat
11 сент. 2012 г.
10 сент. 2012 г.
Запуск Wireshark под обычным (non-root) пользователем
Всё нижесказанное валидно для Oracle Linux 6 (RedHat 6, CentOS 6) 64 бита, в других дистрибутивах команды будут немного отличаться. Wireshark установлен не из пакетов, а их исходников, как я писал здесь
1. Устанавливаем зависимости (если еще не установлены):
yum install ibcap.x86_64 libcap-devel.x86_64
2. Проверяем наличие группы wireshark и если ее нет, создаем:
cat /etc/group
groupadd wireshark
3. Добавляем пользователя, под которым нужно использовать wireshark, в эту группу:
usermod -a -G wireshark user
newgrp wireshark
setcap cap_net_raw,cap_net_admin=eip /usr/local/bin/dumpcap
chgrp wireshark /usr/local/bin/dumpcap
1. Устанавливаем зависимости (если еще не установлены):
yum install ibcap.x86_64 libcap-devel.x86_64
2. Проверяем наличие группы wireshark и если ее нет, создаем:
cat /etc/group
groupadd wireshark
3. Добавляем пользователя, под которым нужно использовать wireshark, в эту группу:
usermod -a -G wireshark user
newgrp wireshark
Устанавливаем права команде dumpcap и добавляем ее в нашу группу:
setcap cap_net_raw,cap_net_admin=eip /usr/local/bin/dumpcap
chgrp wireshark /usr/local/bin/dumpcap
chmod 750 /usr/local/bin/dumpcap
30 авг. 2012 г.
Разрешение обычным пользователям использовать tcpdump
Возникла потребность разрешить программерам юзать tcpdump. Давать им рутовую консоль как-то не кошерно, потому нашел решение:
which tcpdump
chmod 4755 /sbin/tcpdump
Для зпрещения - chmod 700 или 755
which tcpdump
chmod 4755 /sbin/tcpdump
Для зпрещения - chmod 700 или 755
25 июн. 2012 г.
Настройка сети в Debian / Ubuntu Linux
Тапками не кидать - заметка чисто для себя. Ну и мож кому пригодится.
Редактируем файлик /etc/network/interfaces в котором прописываем:
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8
Вместо eth0 и цифирок ставим свои.
Также можно вбомбить в /etc/resolv.conf адреса своих днс серверов и домена:
domain example.com
search example.com
nameserver 109.86.2.2
Редактируем файлик /etc/network/interfaces в котором прописываем:
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8
Вместо eth0 и цифирок ставим свои.
Также можно вбомбить в /etc/resolv.conf адреса своих днс серверов и домена:
domain example.com
search example.com
nameserver 109.86.2.2
В файлике /etc/hostname прописываем имя сервера:
name
В принципе, всё.
Если хотим дхсп, то вместо iface eth0 inet static прописываем iface eth0 inet dhcp и всё что ниже не вписываем.
Подписаться на:
Сообщения (Atom)

