Я вставил правило в iptables для отслеживания использования ввода для определенного IP-адреса. IP-адрес vps-сервера - 192.168.1.5, а IP-адрес гостевой ОС - 192.168.1.115. Я запустил yum update в гостевой ОС, чтобы получить некоторый сетевой трафик. Затем я побежал iptables -vnL
из гипервизора. Однако он показывал использование сети только хосту, но не гостю.
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target source destination
0 0 0.0.0.0/0 0.0.0.0/0 destination IP range 192.168.1.115-192.168.1.115
1853 114K 0.0.0.0/0 0.0.0.0/0 destination IP range 192.168.1.5-192.168.1.5
Я побежал tcpdump
и журнал показал, что есть пакеты данных для гостевой ОС.
16:17:43.932514 IP mirrordenver.fdcservers.net.http > 192.168.1.115.34471: Flags [.], seq 17694667:17696115, ack 1345, win 113, options [nop,nop,TS val 1060308643 ecr 1958781], length 1448
16:17:43.932559 IP 192.168.1.115.34471 > mirrordenver.fdcservers.net.http: Flags [.], ack 17696115, win 15287, options [nop,nop,TS val 1958869 ecr 1060308643], length 0
Почему невозможно отследить использование сети гостевой ОС?
iptables -L
вернет цепочку INPUT следующим образом:
Chain INPUT (policy ACCEPT)
target prot opt source destination
all -- anywhere anywhere destination IP range 192.168.1.115-192.168.1.115
all -- anywhere anywhere destination IP range 192.168.1.5-192.168.1.5
all -- anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 all -- * * 0.0.0.0/0 0.0.0.0/0 destination IP range 192.168.1.1-192.168.1.249
Вы не говорите, как вы организуете передачу трафика от физического сетевого адаптера VPS-сервера к виртуальному сетевому адаптеру VPS, но вполне вероятно, что это маршрутизируемая транзакция. Если это так, то трафик на VPS не появится на сервере VPS. INPUT
цепочка, но на FORWARD
вместо этого цепочка.