В локальных сетях есть компьютеры и у каждого из них есть свой IP адрес. Как узнать,
перебирая все IP, какие компьютеры покдлюченны в сеть.
Я пробовал через комманду PING, получал от из нее ответ и проверял его:
string subNet = "192.168.1.";
for(int i = 1; i < 256; i++){
string network_IP = subNet + to_string(i);
string request = "ping " + network_IP + " -c 1 > /dev/null";
string result = system(request.c_str()) == 0 ? "true" : "false";
cout << network_IP << " available: " << result << endl;
}
но данная система работает очень долго, как можно это ускорить?
Ответы
Ответ 1
система работает очень долго
она не работает. она ждёт ответа на ping-запрос. Если данный хост "живой", то ответ
прилетает практически мгновенно. Если же хост не отвечает, то утилита ping ждёт таймаут.
Величина этого таймаута задаётся ключиком "-W". Попробуйте задать "-W1" - посмотрите
результат.
как можно это ускорить?
Насчёт таймаута я уже сказал. Но, это не радикальное средство. А радикальым решением
будет написание двух функций:
Отправить ICMP-запрос
Ждать ответа на ICMP запрос.
Тогда Вы в цикле отправляете запросы по всем адресам локальной сети - без(!) ожидания
ответа. Внутри каждого отправленного ICMP запроса указываете его ID.
После чего ждёте таймаут один(!) раз. Здесь цикл вызова второй вашей функции. Она
принимает пакет и по ID определяет, от кого этот ответ пришёл. Всё это продолжается
таймаут. Кто успел прислать ответ - тот живой. Кто не прислал - того нет в сети. Таким
образом, таймаут отрабатывает только один раз.
Есть ещё одна проблема: сисадмины, для предотвращения хакинга, часто запрещают хостам
отправлять ответы на ICMP запросы.
В качестве "рыбы" для написания этих двух функций рекомендую использовать простенький
текст пользователя .failer на страничке https://forum.sources.ru/index.php?showtopic=57566
Как мне получить список ip адресов,mac адресов и учетных записей компьютеров в локальной
сети?
Ответы
Ответ 1
По своей сути это три разных задачи, близких друг к другу по смыслу.
Чтобы получить список адресов сети, можно воспользоваться следующим кодом:
public void GetLocalAddress()
{
// доступно ли сетевое подключение
if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
return;
// запросить у DNS-сервера IP-адрес, связанный с именем узла
var host = Dns.GetHostEntry(Dns.GetHostName());
// Пройдем по списку IP-адресов, связанных с узлом
foreach (var ip in host.AddressList)
{
// если текущий IP-адрес версии IPv4, то выведем его
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
Console.WriteLine(ip.ToString());
}
}
}
Это для консольного приложения, но можно использовать где угодно, просто заменив
Console.WriteLine. Полезные ссылки для ознакомления:
Метод Dns.GetHostEntry
Метод Dns.GetHostName
Свойство IPHostEntry.AddressList
Свойство IPAddress.AddressFamily
Перечисление AddressFamily
Метод NetworkInterface.GetIsNetworkAvailable
С получением списка MAC-адресов дела обстоят так:
public void GetMacAddress()
{
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
if (nic.OperationalStatus == OperationalStatus.Up)
{
Console.WriteLine(nic.GetPhysicalAddress().ToString());
}
}
}
Или другой способ с помощью System.Management:
public List GetMacAddress()
{
ManagementObjectSearcher objMOS =
new ManagementObjectSearcher("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMOS.Get();
List MACAddress = new List();
foreach (ManagementObject objMO in objMOC)
{
try
{
MACAddress.Add(objMO["MacAddress"].ToString());
objMO.Dispose(); // а может и не нужно
}
catch(Exception) { }
}
return MACAddress;
}
Полезные ссылки из получения MAC-адресов:
Метод NetworkInterface.GetAllNetworkInterfaces
Метод NetworkInterface.GetPhysicalAddress
Перечисление OperationalStatus
Очень полезно: C# Get Computer's MAC address “OFFLINE”
Получение учетных записей программно - это проблема, которую нужно решать отдельно.
Скорее всего так просто не выйдет. К примеру для конкретной машины, на которой будет
запущено приложение - можно получить данные учетной записи через System.Management,
вот так:
ManagementObjectSearcher usersSearcher =
new ManagementObjectSearcher(@"SELECT * FROM Win32_UserAccount");
ManagementObjectCollection users = usersSearcher.Get();
Пример взят отсюда: How can I get a list Local Windows Users. В первом ответе, который
принят упоминается о проблемах с брандмауэром и антивирусами, с чем я согласен. Причем
учетная запись может быть доменной, а также и локальной. Это отдельный вопрос, требующий
особого внимания.
Ответ 2
Что бы получить ip и mac можно использовать NetServerEnum и NetApiBufferFree из netapi32.dll
- подключается через dllImport. Тем же способом и mac адреса машин. Для учетных записей
к сожалению нужен будет либо доступ к домену либо пилить велосипед в виде клиент\сервера
которые общаются по UDP. Клиент запускается на машине, данные которой нужно поулчить,
после чего шлет всю инфу на определенный сервер (будут проблемки с антивирусами или
брандмауэром, но если нужно только для своей сетки, вопрос вполне решаемый).
Всем привет. Подскажите с такой проблемой. Хочу будить ноут дома через TeamViewer,
в нем есть такая функция. Настроил в BIOS и в ос (windows 10) дома в нутри сети пробуждение
работает, а вот из вне не получается. В чем может быть проблема? На роутере открыт
порт udp 9.
Ответы
Ответ 1
Из инструкции к Teamviewer:
5.3 Wake-on-LAN через публичный адрес
Если вы хотите пробудить компьютер с помощью его публичного адреса, ваш компьютер
должен быть
всё время идентифицирован в Интернете. Для этого нужно либо иметь
постоянный IP адрес интернет-провайдера, либо ваш компьютер должен
быть доступен, к примеру, с помощью динамического провайдера DNS (см.
http://en.wikipedia.org/wiki/Dynamic_DNS). При выполнении одного из
условий, вы можете активировать Wake-On-LAN через публичный адрес в
опциях TeamViewer.
Для активации TeamViewer Wake-On-LAN через публичный адрес выполните
следующие действия:
Запустите TeamViewer на компьютере.
В главном меню выберите Дополнительно | Опции.
-> Откроется диалоговое окно Опции TeamViewer.
Выберите раздел Основное.
В разделе Настройки сети|Функция пробуждения по сети Wake-on-LAN нажмите кнопку
Конфигурация….
Откроется диалоговое окно Функция пробуждения по сети Wake-on-LAN. Нажмите кнопку-переключатель
Публичный адрес.
В поле Адрес введите фиксированный IP адрес или DNS имя компьютера.
В поле Порт введите порт UDP, с помощью которого организуется доступ к компьютеру
(см. Раздел 7.1, стр. 14).
Нажмите кнопку ОК.
Теперь компьютер может быть пробуждён через свой публичный адрес с помощью TeamViewer.
Скажите, что из этого вы сделали? Или у вас какая-то другая схема подключения?
Ответ 2
Ответ с сайта answers.microsoft.com
У кого сетевые карты на контроллере Realtek- скачивайте драйвер с сайта (Win8, Win8.1
and Server 2012 Auto Installation Program (SID:1726143)). После установки драйвера
WOL заработает. Тот который от Microsoft- не работает. Realtek
Данная проблема встречается только в Windows 10.
Ответ 3
Технология "Wake On Lan" (технология "Magic packet") используется для включения электропитания
удаленного компьютера, находящегося в состоянии программного выключения ("Soft Off")
путем посылки на его сетевой адаптер специально сформированного кадра Ethernet.
То есть сетевая карта должна мерцать.
Посмотрите в настройках сетевой карты доступен ли Wake on Magic Packet?
Ответ 4
Предположу, что роутер может отключаться от интернета из-за того, что к нему нет
обращений в течение заданного периода времени. Стоит попробовать изменить эту настройку.
Почему
$ ping ya.ru
ping: unknown host ya.ru
Комп1 (принимающий инет)
$ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr b8:03:05:c9:3e:c5
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::ba03:5ff:fec9:3ec5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:33086 errors:0 dropped:0 overruns:0 frame:0
TX packets:62823 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2797459 (2.7 MB) TX bytes:90723494 (90.7 MB)
и так делал
$ ip route
default via 192.168.0.2 dev wlan0 scope link metric 100
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.2 metric 9
и так делал
$ ip route
default via 192.168.0.1 dev wlan0 scope link metric 100
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.2 metric 9
$ sudo iptables-save
:пусто
$ nslookup ya.ru
;; connection timed out; no servers could be reached
$ ping 8.8.8.8
connect: Network is unreachable
Комп2 (раздающий 3g)
$ ifconfig -a
eth0 Link encap:Ethernet HWaddr b8:88:e3:67:d4:45
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:5976 errors:0 dropped:0 overruns:0 frame:0
TX packets:5976 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:547759 (547.7 KB) TX bytes:547759 (547.7 KB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.225.20.196 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:14699 errors:0 dropped:0 overruns:0 frame:0
TX packets:13627 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:11287729 (11.2 MB) TX bytes:2950024 (2.9 MB)
wlan0 Link encap:Ethernet HWaddr 50:b7:c3:2a:68:31
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::52b7:c3ff:fe2a:6831/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1000 errors:0 dropped:0 overruns:0 frame:0
TX packets:1021 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:148348 (148.3 KB) TX bytes:108966 (108.9 KB)
wwan0 Link encap:Ethernet HWaddr 58:2c:80:13:92:63
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
$ ip route
default via 10.64.64.64 dev ppp0 metric 100
10.64.64.64 dev ppp0 proto kernel scope link src 10.225.20.196
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.1 metric 9
net.ipv4.ip_forward = 1
Даже после команды :
$ sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 10.0.0.0/24 -o ppp0 -j
MASQUERADE
в iptables пусто
$ sudo iptables -L -v -n --line
Chain INPUT (policy ACCEPT 11498 packets, 8572K bytes)
num pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 2 packets, 112 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 11183 packets, 2394K bytes)
num pkts bytes target prot opt in out source destination
$ sudo iptables-save
# Generated by iptables-save v1.4.21 on Fri Aug 12 21:04:53 2016
*nat
:PREROUTING ACCEPT [437:43281]
:INPUT ACCEPT [389:28232]
:OUTPUT ACCEPT [1207:218579]
:POSTROUTING ACCEPT [66:9831]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Fri Aug 12 21:04:53 2016
# Generated by iptables-save v1.4.21 on Fri Aug 12 21:04:53 2016
*filter
:INPUT ACCEPT [29340:31886316]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [21601:3071749]
-A FORWARD -s 192.168.0.0/24 -i wlan0 -o ppp0 -j ACCEPT
-A FORWARD -d 192.168.0.0/24 -i ppp0 -o wlan0 -j ACCEPT
COMMIT
# Completed on Fri Aug 12 21:04:53 2016
$ nslookup ya.ru
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
Name: ya.ru
Address: 93.158.134.3
Name: ya.ru
Address: 213.180.193.3
Name: ya.ru
Address: 213.180.204.3
Сделал :
iptables -F
iptables -X
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o ppp0 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i ppp0 -o wlan0 -d 192.168.0.0/24 -j ACCEPT
Получил
$ sudo iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 72 packets, 4357 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 65 packets, 3965 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 88 packets, 13008 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 5 packets, 890 bytes)
pkts bytes target prot opt in out source destination
90 12510 MASQUERADE all -- * ppp0 0.0.0.0/0 0.0.0.0/0
Но маскарад так и не работает.
В итоге на комп2 есть инет и пингуется комп1. А на комп1 нет инета,хотя и пингуется
комп2. Почему нет интернета ?(
Ответы
Ответ 1
так как в вопросе не упомянут файл /etc/resolv.conf, скорее всего, в нём и дело.
в этом файле сохраняется информация, необходимая системе для преобразования доменных
имён в ip-адреса (и обратно).
как минимум в нём должна присутствовать строка вида:
nameserver ip-адрес
где ip-адрес — это адрес dns-сервера (сервера имён), который, собственно, и выполнит
(при обращении к нему со стороны вашей системы) упомянутое выше преобразование (например,
ya.ru → 93.158.134.3).
чем «ближе» находится сервер имён, тем быстрее будет получен от него ответ. вы можете
взять адрес из аналогичного файла со второго компьютера. или воспользоваться каким-нибудь
публичным:
8.8.8.8, 8.8.4.4 (поддерживаются компанией google)
77.88.8.8, 77.88.8.1 (поддерживаются компанией yandex)
Ответ 2
На обоих компах прописал в файл /etc/resolv.conf
nameserver 8.8.8.8
Спасибо @alexander-barakin
Сделал на компе2(с 3g инетом):
iptables -F
iptables -X
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o ppp0 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i ppp0 -o wlan0 -d 192.168.0.0/24 -j ACCEPT
Спасибо @nobody
И заработало. Всем спасибо!)
Не уверен, что вопрос соответствует правилам, но всё же.
Есть 10Gb карточка (марка не важна, т.к. результат повторялся и на двух других, отличных
от этой) и Debian Buster, соединенный оптикой напрямую с машинкой-источником данных.
Организован поток данных ~9Gb, состоящий из ethernet фреймов размера ~9000 байт, в
которых кроме MAC отравителя, МАС получателя, кастомного EtherType и счетчика пакетов
ничего нет.
Замеры утилитами wireshark, tshark, tcpdump (хотя они всё равно все работают через
одну библиотеку) показывают пропуск примерно каждого второго пакета. Самописный кривой
код показывает примерно то же. При этом под Windows 7 тот же wireshark (при большом
выделенном буфере) ловит все пакеты.
Проверка пропускной способности сети утилитой iperf3 на TCP трафике даёт стабильные
9.8Gb.
# uname -a
Linux debian 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2 (2019-08-28) x86_64 GNU/Linux
# ifconfig enp1s0
enp1s0: flags=4163 mtu 12000
inet 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.255.255
inet6 fe80::b2c5:54ff:feff:f37f prefixlen 64 scopeid 0x20
ether b0:c5:54:ff:f3:7f txqueuelen 3000 (Ethernet)
RX packets 1501482032 bytes 13216245041216 (12.0 TiB)
RX errors 0 dropped 1501472982 overruns 0 frame 0
TX packets 75 bytes 7809 (7.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 34 memory 0x90400000-90410000
# ethtool -g enp1s0
Ring parameters for enp1s0:
Pre-set maximums:
RX: 1365
RX Mini: 0
RX Jumbo: 0
TX: 2048
Current hardware settings:
RX: 1365
RX Mini: 0
RX Jumbo: 0
TX: 2048
# ethtool -k enp1s0
Features for enp1s0:
rx-checksumming: on
tx-checksumming: on
tx-checksum-ipv4: on
tx-checksum-ip-generic: off [fixed]
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: on
tcp-segmentation-offload: on
tx-tcp-segmentation: on
tx-tcp-ecn-segmentation: off [fixed]
tx-tcp-mangleid-segmentation: off
tx-tcp6-segmentation: off [fixed]
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: on
highdma: on
rx-vlan-filter: on
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]
Я плохо знаю сетевой стек и откровенно "плаваю" при настройке сети, поэтому прошу
помощи сообщества или хотя бы вектора, в котором необходимо копать. Особенно интересует
эта строка RX errors 0 dropped 1501472982 overruns 0 frame 0
Ответы
Ответ 1
В большинстве случаев в linux требуется подтюнить драйвер, настройки ядра и, возможно,
перераспределить прерывания по ядрам. Ниже представлены примеры рабочих параметров
с 10g машин под debian.
# cat /etc/modprobe.d/ixgbe.conf
options ixgbe MQ=1,1
options ixgbe RSS=8,8
options ixgbe InterruptThrottleRate=1,1
options ixgbe DCA=2,2
options ixgbe FCoE=0,0
options ixgbe LRO=0,0
# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 0
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Controls the default maxmimum size of a mesage queue
kernel.msgmnb = 65536
# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
# No swappiness
vm.swappiness = 0
net.core.rmem_default = 8388608
net.core.wmem_default = 8388608
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.netfilter.nf_conntrack_max = 30000000
net.netfilter.nf_conntrack_tcp_timeout_established = 1800
net.ipv4.conf.all.arp_announce = 1
net.ipv4.conf.lo.arp_announce = 1
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_fin_timeout = 20
net.core.netdev_max_backlog = 8192
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_timestamps = 1
net.core.somaxconn = 16384
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_max_orphans = 65536
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_tw_reuse = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.tcp_orphan_retries = 0
net.ipv4.udp_mem = 51200 76800 102400
net.ipv4.tcp_mem = 51200 76800 102400
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.tcp_congestion_control = htcp
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_synack_retries = 2
net.ipv6.conf.all.disable_ipv6 = 1
vm.zone_reclaim_mode = 1
vm.min_free_kbytes = 512000
net.ipv4.neigh.default.gc_thresh1 = 512
net.ipv4.neigh.default.gc_thresh2 = 1024
net.ipv4.neigh.default.gc_thresh3 = 2048
kernel.panic = 60
Прерывания можно перераспределить скриптом от intel: https://github.com/majek/ixgbe/blob/master/scripts/set_irq_affinity
Ответ 2
На данном этапе вопрос закрыт: я слишком доверял утилитам (wireshark, tshark, tcpdump)
в сочетании со строкой dropped 1501472982 от ifconfig. Что на самом деле такое эти
dropped (присутствующие также в выводе упомянутых программ), нужно разбираться в каждом
случае отдельно, но это не безвозвратно потерянные пакеты.
В моём случае достаточно было увеличения этих параметров ядра:
net.core.rmem_max
net.core.wmem_max
net.core.rmem_default
net.core.wmem_default
net.core.optmem_max
На имеющемся потоке данных самописный код (немного модифицированная версия вот этого
https://github.com/hundeboll/rawsend) ловит каждый пакет, попытка замерить максимальную
пропускную способность дала ~9.9Gb с ~0.4% потерянных пакетов (согласно внутреннему
счётчику). Потери возможно из-за того, что карточка на стороне клиента чуть круче,
чем на стороне сервера.
у меня сейчас сеть с 2мя ДК территориально разнесёнными
в офисе сеть 204.85.134.0/24
в филиале 10.10.4.0/24
Контора переезжает, и отказывается от временного филиала (где сейчас располагается второй ДК)
Во время переезда у нас будет 2 ДК но второй уже не с филиала - а новый.
В новом офис сеть: 10.0.0.0/23
После переезда старый контроллер будет убран. Но добавится новый "железный" ДК.
и меня интересует необходимо ли создавать новый сайт для нового офиса? Дело в том что я решил предварительно почитать статьи по моей теме, и нашёл вот такую фразу:
Прежде чем добавлять новый сервер в домен и устанавливать на нём роль
AD DS необходимо создать новый сайт (только для филиалов, в пределах
одной локальной сети сайт создавать не нужно!) и определить сеть для
него. Сайт (site) - одна или несколько сетей TCP\IP имеющих
высокоскоростное соединение. Как правило, сайты являются географически
распределёнными. При наличии современных подключений к интернету,
например FTTX, и небольших объёмах репликации необходимость нескольких
сайтов может не понадобиться.
Ответ
Получил ответ на тостере:
у вас все в одном месте и сайт вам не нужен , втрой КД можно и нужно иметь , все будет ок @oia
Воспользовался им - и действительно никакой проблемы для работы AD отсутствие разделения на сайты не создаёт. А учитывая что разделение временное, два раза вмешиваться в структуру леса не стоит.