Вам нужна VPN. Я предлагаю openvpn. Ее очень легкое для установки, по сравнению с другими решениями VPN. Я запустил бы с простого статического ключевого метода.
Вы установили бы поле с openvpn на обеих подсетях, установили бы openvpn со статическим ключом, затем на Вашей установке маршрутизаторов статический маршрут к прямому трафику к openvpn. Обе LAN должна будет быть на различных подсетях.
Другой вариант - использовать файловая система / proc. Файл / proc / net / dev содержит статистику о настроенных сетевых интерфейсах. Каждая строка предназначена для одного сетевого интерфейса и содержит статистику приема и передачи. Статистика включает такие показатели, как общее количество полученных / переданных байтов, пакетов, отбрасываний, ошибок и т. Д.
cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 29846937 129576 0 0 0 0 0 0 29846937 129576 0 0 0 0 0 0
wlan0: 9467393340 8027251 0 0 0 0 0 0 2559312961 5896509 0 0 0 0 0 0
Или вы можете попробовать команду netstat , которая может отображать все сетевые интерфейсы и соответствующую статистику:
netstat -i
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
lo 65536 0 130435 0 0 0 130435 0 0 0 LRU
wlan0 1492 0 8028018 0 0 0 5897361 0 0 0 BMRU
] Команда ip
, которая является частью пакета iproute2, является новым инструментом. Подкоманда link
предназначена для управления устройствами / интерфейсами.
Если вы можете получить статистику интерфейса с помощью ip -s link
root:~# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
50679705 529967 0 0 0 0
TX: bytes packets errors dropped carrier collsns
50679705 529967 0 0 0 0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1d:7d:aa:e3:4e brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
187663757 308710386 0 0 0 0
TX: bytes packets errors dropped carrier collsns
4051284587 532435117 0 0 0 0
Вы можете получить всю необходимую информацию через proc
# cat /sys/class/net/eth0/statistics/rx_bytes
# cat /sys/class/net/eth0/statistics/rx_packets
# cat /sys/class/net/eth0/statistics/tx_packets
# cat /sys/class/net/eth0/statistics/tx_bytes
Также вы можете использовать iptables и проанализировать вывод.
Для принятых пакетов
# iptables -L INPUT -n -v
для переданных пакетов
# iptables -L OUTPUT -n -v
Если сервер является шлюзом, вам также следует проанализировать цепочку FORWARD
Вы можете прочитать файл / sys / class / net / wlp3s0 / statistics / rx_bytes
и получить rx_byes напрямую, не вызывая другую команду, vnstat
тоже хорошо.
Насколько я знаю, Linux хранит всю информацию в файлах, поэтому лучше найти эти файлы и получить информацию. Найти нужный файл - непростая задача.