KVM 客户机在 Apache 日志中显示错误的源 IP

KVM 客户机在 Apache 日志中显示错误的源 IP

我在 Fedora 22 主机上使用桥接网络运行了一些 KVM 客户机。除了一个小问题外,一切似乎都运行良好。其中一个客户机上运行着 apache。对客户机上 Web 服务器的任何访问都会在日志中显示主机的 IP 地址,而不是实际源的 IP 地址。客户机上的“who -mu”还显示 KVM 物理主机的 IP 地址(或者更确切地说是主机名),而不是我进行 SSH 连接的实际源 IP。

例如:

我从 10.10.10.3(物理 Debian 主机)通过 SSH 连接到 10.10.10.5(Ubuntu KVM 客户机,运行在物理 Fedora 22 主机 10.10.10.4 上)。当我成功登录到 10.10.10.5 并执行“who -mu”时,我看到的是 10.10.10.4 机器的主机名,而不是 10.10.10.3 机器的主机名。同样,如果我从 10.10.10.3 机器访问 10.10.10.5 上的 Apache 页面,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

相关内容