Назад | Перейти на главную страницу

Гости KVM показывают неправильный исходный IP-адрес в журналах apache

У меня есть несколько гостей KVM, работающих на хосте Fedora 22, использующих мостовую сеть. Кажется, все идет хорошо, кроме одной мелочи. У одного из гостей работает apache. Любой доступ к веб-серверу на гостевой машине показывает IP-адрес хоста в журналах, а не IP-адрес фактического источника. «who -mu» на гостевой системе также показывает IP-адрес или, скорее, имя хоста физического хоста KVM, а не фактический IP-адрес источника, с которого я использую SSH.

Так, например:

Я использую SSHing с 10.10.10.3, который является физическим хостом Debian, на 10.10.10.5, который является гостевым KVM Ubuntu, работающим на физическом хосте Fedora 22, то есть 10.10.10.4. Когда я успешно вошел в систему 10.10.10.5 и ввел «who -mu», я вижу имя хоста машины 10.10.10.4, а не машины 10.10.10.3. Точно так же, если я получаю доступ к страницам Apache в 10.10.10.5 с машины 10.10.10.3, в журналах Apache отображается 10.10.10.4.

Вот мой ifcfg-br0:

DEVICE=br0
TYPE=Bridge
BOOTPROTO=none
IPADDR=10.10.10.4
NETMASK=255.255.255.0
GATEWAY=10.10.10.22
DNS1=10.10.10.22
SEARCH="example.co"
ONBOOT=yes
NM_CONTROLLED=no
IPV6INIT=no
STP=on

И ifcfg-enp2s0 (физический адаптер на хосте Fedora:

TYPE=Ethernet
DEVICE=enp2s0
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no

Кто-нибудь знает, что мне нужно сделать, чтобы исходный IP-адрес отображался правильно? Я предполагаю, что на хосте Fedora есть iptables-fu?

РЕДАКТИРОВАТЬ: добавлены выходы iptables по запросу. Это из коробки с запущенным virsh:

>

 # iptables -vnL
Chain INPUT (policy ACCEPT 26M packets, 65G bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67

Chain FORWARD (policy ACCEPT 72720 packets, 14M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
1340M 1496G DOCKER-ISOLATION  all  --  *      *       0.0.0.0/0            0.0.0.0/0
 805M 1454G DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0
 805M 1454G ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
 535M   42G ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 27M packets, 1068G bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:68

Chain DOCKER (1 references)
 pkts bytes target     prot opt in     out     source               destination
31058 4176K ACCEPT     tcp  --  !docker0 docker0  0.0.0.0/0            172.17.0.2           tcp dpt:80
 5388  265K ACCEPT     tcp  --  !docker0 docker0  0.0.0.0/0            172.17.0.2           tcp dpt:22

Chain DOCKER-ISOLATION (1 references)
 pkts bytes target     prot opt in     out     source               destination
1340M 1496G RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0



# iptables -vnL -t nat
Chain PREROUTING (policy ACCEPT 3676K packets, 277M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            10.10.10.4           tcp dpt:443 to:10.10.10.106:443
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            10.10.10.4           tcp dpt:8443 to:10.10.10.50:10000
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            10.10.10.4           tcp dpt:5223 to:10.10.10.50:4040
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            10.10.10.4           tcp dpt:4040 to:10.10.10.50:4040
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            10.10.10.4           tcp dpt:81 to:10.10.10.4:80
24172 6451K DOCKER     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT 165K packets, 65M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 53577 packets, 6455K bytes)
 pkts bytes target     prot opt in     out     source               destination
 3390  251K DOCKER     all  --  *      *       0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    2   622 RETURN     all  --  *      *       192.168.122.0/24     224.0.0.0/24
    0     0 RETURN     all  --  *      *       192.168.122.0/24     255.255.255.255
    0     0 MASQUERADE  tcp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  udp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       192.168.122.0/24    !192.168.122.0/24
3506K  210M MASQUERADE  all  --  *      !docker0  172.17.0.0/16        0.0.0.0/0
67578 8512K MASQUERADE  all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 MASQUERADE  tcp  --  *      *       172.17.0.2           172.17.0.2           tcp dpt:80
    0     0 MASQUERADE  tcp  --  *      *       172.17.0.2           172.17.0.2           tcp dpt:22

Chain DOCKER (2 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     all  --  docker0 *       0.0.0.0/0            0.0.0.0/0
 5716  343K DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:32180 to:172.17.0.2:80
 1133 67980 DNAT       tcp  --  !docker0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:32122 to:172.17.0.2:22