ifconfig против ip

Некоторое время назад появилась команда /bin/ip. Но народ привык пользоваться более старой командой /sbin/ifconfig. Ну и типа дело идёт к тому, что скоро надо будет перейти с  ifconfig на ip, вроде как потому что ip более мощная и делает то же самое.

Показать устройства и их конфигурацию:

ifconfig
ip addr show
ip link show

Включить сетевое устройство:

ifconfig eth0 up
ip link set eth0 up

Отключаются устройства похожим образом:

ifconfig eth0 down
ip link set eth0 down

Присвоить IP-адрес:

ifconfig eth0 192.168.0.77
ip address add 192.168.0.77 dev eth0

Это была простая версия команды. Часто надо ещё указывать сетевую маску или broadcast-адрес. В следующих примерах показаны варианты для ifconfig и ip.

Нет необходимости говорить, что сетевая маска может быть указана в CIDR-нотации, вроде 192.168.0.77/24.

ifconfig eth0 192.168.0.77 netmask 255.255.255.0 broadcast 192.168.0.255
ip addr add 192.168.0.77/24 broadcast 192.168.0.255 dev eth0

Удаление IP-адреса:

ip addr del 192.168.0.77/24 dev eth0

Добавление алиаса:

ifconfig eth0:1 10.0.0.1/8
ip addr add 10.0.0.1/8 dev eth0 label eth0:1

ARP протокол

Add an entry in your ARP table.

arp -i eth0 -s 192.168.0.1 00:11:22:33:44:55
ip neigh add 192.168.0.1 lladdr 00:11:22:33:44:55 nud permanent dev eth0

Switch ARP resolution off on one device

ifconfig -arp eth0
ip link set dev eth0 arp off

Показать routing table

route
ip route show

Положительная особенность ip route в том, что можно запросить, через какой интерфейс пойдут пакеты к интересующему IP-адресу:

ip route get 192.168.88.77

Внесение изменений в routing table

Команды для добавления маршрута на интерфейс:

route add -net 192.168.3.0/24 dev eth3
ip route add 192.168.3.0/24 dev eth3

То же для удаления маршрута:

route del -net 192.168.3.0/24 dev eth3
ip route del 192.168.3.0/24 dev eth3

Команда для добавления шлюза:

route add -net 192.168.4.0/24 gw 192.168.4.1
ip route add 192.168.4.0/24 via 192.168.4.1

Можно добавить имя интерфейса, например eth3.

Группировка данных по дням, по месяцам или по годам в MSSQL

По дням:

select convert(char(8),Date_and_Time,112) mydate, count(calls_id)
from calls
group by convert(char(8),Date_and_Time,112)
order by mydate

По месяцам:

select convert(char(6),Date_and_Time,112) mydate, count(calls_id)
from calls
group by convert(char(6),Date_and_Time,112)
order by mydate 

По годам:

select convert(char(4),Date_and_Time,112) mydate, count(calls_id)
from calls
group by convert(char(4),Date_and_Time,112)
order by mydate