XEN nat в Debian Squeeze

Модератор: Модераторы разделов

Blitzwing
Сообщения: 13
ОС: Debian, Ubuntu, RHEL

XEN nat в Debian Squeeze

Сообщение Blitzwing »

Хост и виртуалка под Debian Squeeze. При network-bridge виртуалки подхватывали сеть по dhcp, а с натом никак не получается настроить сетку.. Подскажите, куда копать?
В /etc/xen/xend-config.sxp прописано:

Код: Выделить всё

(net-script network-nat)
(vif-sсript vif-nat)


ip addr (* вместо реального ip)

Код: Выделить всё

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
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 1c:6f:65:d7:c8:d1 brd ff:ff:ff:ff:ff:ff
    inet *.*.*.*/24 brd *.*.*.255 scope global eth0
    inet6 fe80::1e6f:65ff:fed7:c8d1/64 scope link
       valid_lft forever preferred_lft forever
3: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether ce:5a:d4:3f:09:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
8: vif3.0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 32
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fcff:ffff:feff:ffff/64 scope link
       valid_lft forever preferred_lft forever


route

Код: Выделить всё

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localnet        *               255.255.255.0   U     0      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
default         gw.*.ru      0.0.0.0         UG    0      0        0 eth0


xm list

Код: Выделить всё

Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0 12087     4     r-----    124.5
ltsp02                                       3  4092     1     -b----      1.3


в /etc/xen/ltsp02.cfg

Код: Выделить всё

#
#  Hostname
#
name        = 'ltsp02'

#
#  Networking
#
vif         = [ 'ip=192.168.122.2,mac=00:16:3E:C0:AC:0C' ]


На самой виртувлке:
/etc/network/interfaces

Код: Выделить всё

auto eth0
iface eth0 inet static
 address 192.168.122.2
 gateway 192.168.122.1
 netmask 255.255.255.0
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 874
ОС: gentoo

Re: XEN nat в Debian Squeeze

Сообщение vr13 »

покажите на dom0

Код: Выделить всё

brctl show

и

Код: Выделить всё

iptables -L

Спасибо сказали:
Blitzwing
Сообщения: 13
ОС: Debian, Ubuntu, RHEL

Re: XEN nat в Debian Squeeze

Сообщение Blitzwing »

Прошу меня извинить за то, что притормозил с ответом.

Код: Выделить всё

# brctl show
bridge name    bridge id        STP enabled    interfaces
pan0        8000.feffffffffff    no        vif2.0
                            vif3.0
virbr0        8000.000000000000    yes


Код: Выделить всё

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:bootps

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED PHYSDEV match --physdev-out vif3.0
ACCEPT     udp  --  anywhere             anywhere            PHYSDEV match --physdev-in vif3.0 udp spt:bootpc dpt:bootps
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED PHYSDEV match --physdev-out vif3.0
ACCEPT     all  --  ltsp02               anywhere            PHYSDEV match --physdev-in vif3.0
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED PHYSDEV match --physdev-out vif2.0
ACCEPT     udp  --  anywhere             anywhere            PHYSDEV match --physdev-in vif2.0 udp spt:bootpc dpt:bootps
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED PHYSDEV match --physdev-out vif2.0
ACCEPT     all  --  squeeze01            anywhere            PHYSDEV match --physdev-in vif2.0
ACCEPT     all  --  anywhere             192.168.122.0/24    state RELATED,ESTABLISHED
ACCEPT     all  --  192.168.122.0/24     anywhere
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 874
ОС: gentoo

Re: XEN nat в Debian Squeeze

Сообщение vr13 »

мне кажется, что проблема в этом:

Код: Выделить всё

# brctl show
bridge name    bridge id        STP enabled    interfaces
pan0        8000.feffffffffff    no        vif2.0
                            vif3.0
virbr0        8000.000000000000    yes

т.е стартованные domU подключаются не к тому мосту:

Код: Выделить всё

3: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff

а по идее, должны подключаться к адресуемому:

Код: Выделить всё

4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether ce:5a:d4:3f:09:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

скорее всего этот мост предназначен для nat и на него включен masquerading (трафик всех domU идет на мост, к которому подключен также dom0, а в dom0 определено что-то типа

Код: Выделить всё

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

соответственно, решить проблему наверное можно изменив конфигурацию vif в domU на:

Код: Выделить всё

vif         = [ 'ip=192.168.122.2,mac=00:16:3E:C0:AC:0C,bridge=vibr0' ]

"скорее всего" и "наверное" - потому, что согласно написанному в xen wiki (ссылки тут недавно приводились), сейчас рекомендуется избавляться от xen-овских средств организации сети и делать это "вручную", средствами операционной системы
Спасибо сказали: