LINUX.ORG.RU
ФорумAdmin

RTNETLINK answers: Operation not supported


0

1

Поставил ядро CentOS 6.2 с поддержкой Xen из http://au1.mirror.crc.id.au Поставил Xen, все работает, доступ к сети с VDS есть, доступ к VDS из сети отсутствует. Поковырял логи и нашел почему.

[root@CentOS-62-64-minimal boot]# ip addr add default dev virbr0 RTNETLINK answers: Operation not supported

Поковырял Гугл и нашел рекомендации по параметрам ядра. Было: CONFIG_NF_CT_NETLINK=m CONFIG_SCSI_NETLINK=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_NET_SCH_INGRESS=m CONFIG_NET_SCHED=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_NETFILTER_XT_TARGET_MARK=m

Стало: CONFIG_NF_CT_NETLINK=y CONFIG_SCSI_NETLINK=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_NET_SCH_INGRESS=y CONFIG_NET_SCHED=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_NETFILTER_XT_TARGET_MARK=y CONFIG_NETFILTER_NETLINK=y CONFIG_NETFILTER_NETLINK_QUEUE=y CONFIG_NETFILTER_NETLINK_LOG=y

Но все равно так же ошибка. Как решить?



Последнее исправление: comhosterru (всего исправлений: 2)

ip addr add default dev virbr0

ты сам понял что хотел сделать?

М.б.

ip addr add 192.168.0.2/24 dev virbr0
ip link set dev virbr0 up
ip route add default via 192.168.0.1 dev virbr0
router ★★★★★
()
Ответ на: комментарий от router

Точно такая же ошибка выходит у XEN, так что мне было абсолютно пофиг, что добавлять. Конкретное правило не работает.

comhosterru
() автор топика
Ответ на: комментарий от router

[root@CentOS-62-64-minimal xen]# ifconfig eth0 Link encap:Ethernet HWaddr 54:04:A6:7E:ED:FB inet addr:176.9.*.* Bcast:176.9.*.* Mask:255.255.255.255 inet6 addr: fe80::5604:a6ff:fe7e:edfb/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:315 errors:0 dropped:0 overruns:0 frame:0 TX packets:332 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:30848 (30.1 KiB) TX bytes:85920 (83.9 KiB) Interrupt:236 Base address:0x6000

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

tap1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 b) TX bytes:1286 (1.2 KiB)

vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:20 overruns:0 carrier:0 collisions:0 txqueuelen:32 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

virbr0 Link encap:Ethernet HWaddr 52:54:00:EA:40:F5 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:19 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:4710 (4.5 KiB)

[root@CentOS-62-64-minimal xen]# ip addr add 192.168.122.2/24 dev virbr0 [root@CentOS-62-64-minimal xen]# ip link set dev virbr0 up [root@CentOS-62-64-minimal xen]# ip route add default via 192.168.122.1 dev virbr0 RTNETLINK answers: File exists

После выполнения твоих гениальных неврущих команд VDS так и остался невидимым из сети.

Для особо одаренных есть еще лог Xen: RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported RTNETLINK answers: Operation not supported

Я особо не разбирался, какую именно команду в iproute2 он там выполняет, но факт, что выполнить он её не может с той же ошибкой, что и в первом после.

comhosterru
() автор топика
Ответ на: комментарий от router

Кстати есть еще в логе строки: can't add vif3.1 to bridge eth0: Operation not supported can't add tap3.1 to bridge eth0: Operation not supported

Они появились когда я загрузился с собранным с нужными параметрами ядром. Однако с тем же ядром и RTNETLINK answers: Operation not supported вышла, плюс ко всему tap3.1 и vif3.1 не создались вообще.

comhosterru
() автор топика
Ответ на: комментарий от comhosterru

У тебя в бридж virbr0 входит только один интерфейс из domU

доступ к сети с VDS есть, доступ к VDS из сети отсутствует

Поэтому из внешней сети domU не виден.

Нужно либо донастроить бридж - включив туда внешний сетевой интерфейс, либо делать роутинг.

xnt
()
Ответ на: комментарий от comhosterru

ip route add default via 192.168.122.1 dev virbr0 RTNETLINK answers: File exists

дефолтный маршрут уже существует, а остальные команды проходят. Повторяю вопрос: ты вообще понимаешь что ты хочешь получить? Когда ты потеряешь доступ к своему VDS, виноват будешь сам

Я особо не разбирался, какую именно команду в iproute2 он там выполняет,

заметно

[root@CentOS-62-64-minimal boot]# ip addr add default dev virbr0 RTNETLINK answers: Operation not supported

Рассказывай что ты хотел получить этой командой, и я скажу что ты делаешь неправильно

router ★★★★★
()
Ответ на: комментарий от comhosterru

can't add vif3.1 to bridge eth0

Тонкий намёк: eth0 - это не мост

router ★★★★★
()
Ответ на: комментарий от xnt

xnt, это я и так понимаю. Xen должен сам автоматически включать внешний сетевой интерфейс в мост, однако, он этого не делает, выкидывая ошибку, что я написал в первом сообщении.

К добавок ко всему,

[root@CentOS-62-64-minimal xen]# /etc/xen/scripts/network-bridge status
============================================================
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 54:04:a6:7e:ed:fb brd ff:ff:ff:ff:ff:ff
    inet 176.9.*.* peer 176.9.*.*/32 brd 176.9.*.* scope global eth0
    inet6 fe80::5604:a6ff:fe7e:edfb/64 scope link
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 54:04:a6:7e:ed:fb brd ff:ff:ff:ff:ff:ff
    inet 176.9.*.* peer 176.9.*.*/32 brd 176.9.*.* scope global eth0
    inet6 fe80::5604:a6ff:fe7e:edfb/64 scope link
       valid_lft forever preferred_lft forever

bridge name     bridge id               STP enabled     interfaces
eth0            can't get info Operation not supported

176.9.*.* dev eth0  proto kernel  scope link  src 176.9.*.*
192.168.*.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1
169.254.0.0/16 dev eth0  scope link  metric 1002
default via 176.9.*.* dev eth0

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
176.9.*.*   0.0.0.0         255.255.255.255 UH    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         176.9.*.*   0.0.0.0         UG    0      0        0 eth0
============================================================
Тоже интересно, can't get info Operation not supported

comhosterru
() автор топика
Ответ на: комментарий от comhosterru

Повторяю для особо одарённых. eth0 - это не мост. Ты где-то неверно задал настройки, а теперь ищешь решение брутфорсом.

router ★★★★★
()
Ответ на: комментарий от comhosterru

Xen должен сам автоматически включать внешний сетевой интерфейс в мост

xen из коробки переименовывает интерфейс eth0 в peth0, а eth0 должен становиться бриджем.

Вот, похожая проблема: peth

Мне проще своими скриптами создать бридж (кто-то же стоздал у вас virbr0 ??? ) Более управляемо и привычнее ;)

xnt
()
Ответ на: комментарий от xnt

Мне проще своими скриптами создать бридж (кто-то же стоздал у вас virbr0 ??? ) Более управляемо и привычнее ;)

К примеру хорошее руководство: Настройка сети

xnt
()
Ответ на: комментарий от comhosterru

Xen и создал. Все настройки из коробки.

Видимо создал какой-то скрипт обломившись в переименованием eth0 в peth0. Почему - без понятия, я centos плохо знаю. Если скрипты ожидають eth0 как бридж, а у нас virbr0 то все поломаеться :)

Я бы отключил создание бриджа при старте xen'а (по ссылке указано как, внизу), создал бы после старта мост руками, стало бы ясно.

Потом прописал бы данные команды в своих скриптах. Указал бы свой бридж конфигах гостевых.

xnt
()
Ответ на: комментарий от xnt

Создание моста сейчас и так отключено, (network-script /bin/true) стоит

comhosterru
() автор топика
Ответ на: комментарий от router

Не стоит быть категоричным.

[root@srvr path]# ifconfig eth3 ; ifconfig peth3 ; brctl show eth3
eth3      Link encap:Ethernet  HWaddr 3C:D9:2B:07:5D:5C  
          inet addr:192.168.111.111  Bcast:192.168.111.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:49459522 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29136900 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:51990474200 (48.4 GiB)  TX bytes:44609595098 (41.5 GiB)

peth3     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:49991673 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51038683 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:52684534906 (49.0 GiB)  TX bytes:46256109269 (43.0 GiB)
          Interrupt:23 Memory:f6000000-f6012800 

bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
xenbr3          8000.feffffffffff       no              vif0.3
                                                        peth3
[root@srvr path]#

berrywizard ★★★★★
()
Ответ на: комментарий от berrywizard

Спасибо, не стал париться, отключил все мосты и прокинул порты на виртуальные машины в ручную. Вот так: iptables -t nat -A PREROUTING --dst 176.9.*.* -p tcp --dport 3055 -j DNAT --to-destination 192.168.122.2 iptables -I FORWARD 1 -i eth0 -o virbr0 -d 192.168.122.2 -p tcp -m tcp --dport 3055 -j ACCEPT

comhosterru
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.