Freebsd
Максимальная пропускная способность соединения 500Кбит/с, мы назначаем 3 очереди с приоритетами 100:10:1 для VoIP:ssh:всего остального, соответственно.
# ipfw pipe 1 config bw 500Kbit/s # ipfw queue 1 config pipe 1 weight 100 # ipfw queue 2 config pipe 1 weight 10 # ipfw queue 3 config pipe 1 weight 1 # ipfw add 10 queue 1 proto udp dst-port 10000-11024 # ipfw add 11 queue 1 proto udp dst-ip 123.23.0.1 # или/и используем IP # ipfw add 20 queue 2 dsp-port ssh # ipfw add 30 queue 3 from me to any # Все остальное
Состояние и удаление:
# ipfw list # Посмотреть состояние # ipfw pipe list # Состояние Pipes # ipfw flush # Очистить все правила кроме дефолтовых
Ifconfig
ifconfig stands for Interface Configuration. This command is the same as ipconfig, and is used to view all the current TCP/IP network configurations values of the computer. The ifconfig command is mainly used in a Unix-like operating system.
It displays information like the IP address, subnet mask, and default gateway for all adapters. It is to be noticed that ifconfig can only assign a static IP address to a networking device connected to the system. For assigning the dynamic IP address, the ‘dhclient’ command is used.
Some of the most common ifconfig commands are:
In other words, the ifconfig command is used for configuring, controlling, and querying TCP/IP network configurations. It can be used to change the Mac address of an interface. For this, the network interface is first disabled(set down), and then we give the command for changing the mac address. We can use the command ‘sudo ifconfig [interface name] up/down’ for enabling or disabling the network interface.
Following are the differences between ipconfig and ifconfig:
Ipconfig
ipconfig stands for Internet Protocol Configuration. This command is used to view all the current TCP/IP network configurations values of the computer. The ipconfig command is mainly used in Microsoft Windows operating system. But it is also supported by React OS and Apple Mac OS. Some of the latest versions of the Linux OS also supports ipconfig.
Nis (информационная служба сети)
Некоторые команды для конфигурирования NIS клиента:
# ypwhich # Получитьимя имя подключенного NIS сервера # domainname # Доменное имя NIS # ypcat group # Показать группу из NIS # cd /var/yp && make # Пересобрать базу данных yp # rpcinfo -p servername # Отчет RPC служб сервера
Ypbind запущен ?
# ps auxww | grep ypbind /usr/sbin/ypbind -s -m -S servername1,servername2 # FreeBSD /usr/sbin/ypbind # Linux # yppoll passwd.byname Map passwd.byname has order number 1190635041. Mon Sep 24 13:57:21 2007 The master server is servername.domain.net.
Solaris
Проверка настроек с ifconfig -a
# ifconfig hme0 plumb # Установить сетевую карту # ifconfig hme0 192.168.50.254 netmask 255.255.255.0 up # Первый IP адрес # ifconfig hme0:1 192.168.51.254 netmask 255.255.255.0 up # Второй IP адрес
Windows
Dhcp аренда(lease) может быть обновлена с помощью ipconfig:
# ipconfig /renew # Обновить все адаптеры # ipconfig /renew LAN # Обновить сетевой адаптер с именем "LAN" # ipconfig /release WLAN # Освободить сетевой адаптер с именем "WLAN"
Неплохой идеей будет дать сетевым адаптерам более внятные имена
Аварийный веб сервер
Обслуживать один файл на 80 порту в цикле.
# while true; do nc -l -p 80 < unixtoolbox.xhtml; done
Другие операционный системы
# ifconfig fxp0 # Проверить поле "media" во FreeBSD # arp -a # Показать таблицу маршрутизации сети, роутера (или хоста) (все OS) # ping cb.vu # Пинговать хост # traceroute cb.vu # Печатать путь маршрута до точки назначения # ifconfig fxp0 media 100baseTX mediaopt full-duplex # 100Mbit full duplex (FreeBSD) # netstat -s # Общесистемная статистика по всем сетевым протоколам
Дополнительные инструменты для отладки сети, которые не всегда установлены по умолчанию, но найти их не трудно:
# arping 192.168.16.254 # Пропинговать на уровне ethernet # tcptraceroute -f 5 cb.vu # Использует tcp вместо icmp что-бы отслеживать маршрут через фаервол
Другие трюки
Тут будьте осторожней, вы открываете доступ к своей системе.
Контроль трафика (qos)
Traffic control управляет очередностью, порядком, планированием и другими параметрами трафика в сети. Следующие примеры, небольшие практические приемы для Linux и FreeBSD позволяющие оптимизировать использование пропускной способности.
Обратные запросы
Узнать имя по IP адресу можно с помощью таких утилит как dig, host или nslookup:
# dig -x 78.31.70.238 # host 78.31.70.238 # nslookup 78.31.70.238
Отладка в linux
# ethtool eth0 # Показать Ethernet статус # ethtool -s eth0 speed 100 duplex full # Принудительная установка режима 100Mbit Full duplex # ethtool -s eth0 autoneg off # Отключить автоопределение # ethtool -p eth1 # Мигать индикатором сетевой карты - если поддерживается # ip link show # Список сетевых интерфейсов в Linux (подобна ifconfig) # ip link set eth0 up # Активировать сетевой интерфейс (или отключить). Аналог "ifconfig eth0 up" # ip addr show # Список всех IP адресов в Linux ( аналог ifconfig) # ip neigh show # Тоже что и arp -a
Очистка dns кэша
Вы можете очистить DNS кэш, но помните, некоторые приложения используют свой, персональный кэш ( например Фаерфокс ), и на них обнуление не подействует.
# /etc/init.d/nscd restart # Перезапустить nscd ( демон кэширования имен ) Linux/BSD/Solaris # lookupd -flushcache # OS X Tiger # dscacheutil -flushcache # OS X Leopard и более новые # ipconfig /flushdns # Windows
Передача файлов
Копирование большого файла через TCP соединение. Передача происходит очень быстро и не требует поднятия NFS, SMB, FTP и т.д… просто сделайте файл доступным на сервере и заберите его с клиента. В данном случае 192.168.1.1, IP адрес сервера.
server# tar -cf - -C VIDEO_TS . | nc -l -p 4444 # Заархивировать директорию и выставить архив на порт 4444 client# nc 192.168.1.1 4444 | tar xpf - -C VIDEO_TS # забрать файл с порта 4444 и разархивировать в дмректорию server# cat largefile | nc -l 5678 # Приготовить к отправке один файл client# nc 192.168.1.1 5678 > largefile # Забрать файл server# dd if=/dev/da0 | nc -l 4444 # Приготовить к отправке файл образа раздела client# nc 192.168.1.1 4444 | dd of=/dev/da0 # Забрать файл образа для создания дублеката раздела client# nc 192.168.1.1 4444 | dd of=da0.img # или забрать файл образа и сохранить как файл server# nc -l 5555 < ./test.file # Файл выставляется в сокет nc с адресом 192.168.1.1, порт 5555 client# nc 192.168.1.1 5555 > ~/test.file # На другой машине, забираем файл, с 192.168.1.1 порт 5555
Пересылка dns запросов
Dig, утилита для проверки настроек DNS. Например, используем для проверки публичный DNS сервер 213.133.105.2 ns.second-ns.de. Обратите внимание с какого сервера клиент получит ответ (упрощенный ответ).
# dig sleepyowl.net sleepyowl.net. 600 IN A 78.31.70.238 ;; SERVER: 192.168.51.254#53(192.168.51.254)
Маршрутизатор 192.168.51.254, прислал в качестве ответа, запись типа А. Запись определенного типа для запроса и DNS сервер, могут быть указаны с символом @:
Печать таблицы маршрутизации
# route -n # Linux или используйте "ip route" # netstat -rn # Linux, BSD и UNIX # route print # Windows
Простой tcp чат
Элис и Боб могут общаться через простой TCP сокет. Текст передается по нажатию Enter.
alice # nc -lp 4444 bob # nc 192.168.1.1 4444
Протокол динамической адресации сети — dhcp
h4>Linux Некоторые дистрибутивы (SuSE) используют в качестве клиента dhcpd. Интерфейс по-умолчанию eth0.
# dhcpcd -n eth0 # Обновить (не всегда работает) # dhcpcd -k eth0 # Освободить и выключить
Lease ( cрок аренды — это время, на которое IP адрес может быть выдан определенному хосту сети ) и вся информация сохраняется в:
/var/lib/dhcpcd/dhcpcd-eth0.info
Сетевая утилита netcat
Netcat (nc), известна так-же как «network Swiss Army Knife», предназначена для создания, чтения, записи TCP/IP соединений. Вот несколько полезных примеров, в сети их можно найти массу, например: тут или тут. Вместо netcat, можно использовать сокращение nc. Так-же можете посмотреть socat.
Сетевые порты
Список открытых портов:
# netstat -an | grep LISTEN # lsof -i # Ссписок всех интернет соединений Linux # socklist # Список открытых портов Linux # sockstat -4 # Список приложений слушающих на отррытых портах # netstat -anp --udp --tcp | grep LISTEN # Linux # netstat -tup # Список активных соединений входящие/исходящие Linux # netstat -tupl # Список слушающих портов Linux # netstat -ano # Windows
Сканирование сети с помощью программы nmap
Nmap, это многофункциональный сканер безопасности с возможностью определения установленной операционной системы. Работает во всех Unix дистрибутивах, так-же существует версия под Windows. Если вы не просканируете свои сервера, за вас это сделают доброжелатели. )
Смена mac адреса
Для начала вы должны деактивировать сетевой интерфейс.. и не говорите никому для чего вы хотите сменить MAC…)
# ifconfig eth0 down # ifconfig eth0 hw ether 00:01:02:03:04:05 # Linux # ifconfig fxp0 link 00:01:02:03:04:05 # FreeBSD # ifconfig hme0 ether 00:01:02:03:04:05 # Solaris # sudo ifconfig en0 ether 00:01:02:03:04:05 # Mac OS X Tiger # sudo ifconfig en0 lladdr 00:01:02:03:04:05 # Mac OS X Leopard
Под Windows существует масса инструментов для смены MAC адреса, например etherchange или обратитесь у гуглу на тему «Mac Makeup», «smac».
Удаленный shell
Опция -e только для Windows версии или используйте nc 1.10.
# nc -lp 4444 -e /bin/bash # Предоставить удаленную оболочку # nc -lp 4444 -e cmd.exe # Удаленная оболочка в Windows
Файл /etc/hosts
Отдельные хосты могут быть настроены в файле /etc/hosts, вместо запуска named, для разрешения имени в адрес. Формат следующий:
78.31.70.238 sleepyowl.net sleepyowl
Приоритет между файлом hosts и DNS запросом, может быть сконфигурирован в /etc/nsswitch.conf И /etc/host.conf. Подобный файл присутствует и в Windows, и расположен как правило по адресу c:windowssystem32driversetc