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

apt-get update не может подключиться

Я запускаю выделенный сервер ubuntu 10.04.

Я использую kvm / libvirt / virsh для запуска виртуальной машины, которая также является ubuntu 10.04.

Я подключил сеть (1 из 2 IP-адресов маршрутизируется через NAT в локальную сеть, где моя виртуальная машина (192.168.1.111) принимает его.

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

Я маршрутизировал порт 80 (и другие) с помощью iptables, и я могу подключиться извне к своему apache на виртуальной машине.

тем не менее, apt вообще не работает, что меня убивает, потому что я не могу ничего установить ...

$ apt-get update

приводит к серии таких ошибок:

W: Failed to fetch http://de.archive.ubuntu.com/ubuntu/dists/lucid-backports/multiverse/binary-amd64/Packages.gz  Unable to connect to de.archive.ubuntu.com:http: [IP: 141.30.13.30 80]

Я могу без проблем пропинговать домен и ip с терминала.

я могу разрешить домен без проблем.

Я перепробовал все варианты /etc/apt/sources.list, которые нашел в сети. тот, который работает с моей выделенной машины, список по умолчанию, несколько составленных вручную списков. результат всегда один: невозможно подключиться

Я думаю, что это какая-то проблема с маршрутизацией, но я действительно озадачен, потому что у меня, похоже, есть полный доступ к сети с виртуальной машины. Поскольку пакеты не установлены, я не могу использовать wget или ftp с терминала vm (и я не могу их скомпилировать, поскольку gcc не установлен - я хотел сделать все это с помощью apt;)). ох, способности такие же конечно ...

ПОМОГИТЕ!

P.S. вот мои настройки iptables:

iptables -t nat -L -v
Chain PREROUTING (policy ACCEPT 86 packets, 14254 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  any    any     anywhere             anywhere            tcp dpt:https to:192.168.1.111:443
    0     0 DNAT       tcp  --  any    any     anywhere             anywhere            tcp dpt:ftp to:192.168.1.111:21
   13   780 DNAT       tcp  --  any    any     anywhere             anywhere            tcp dpt:www to:192.168.1.111:80

Chain POSTROUTING (policy ACCEPT 31 packets, 2236 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MASQUERADE  tcp  --  any    any     192.168.1.0/24      !192.168.1.0/24      masq ports: 1024-65535
    1    76 MASQUERADE  udp  --  any    any     192.168.1.0/24      !192.168.1.0/24      masq ports: 1024-65535
    1    84 MASQUERADE  all  --  any    any     192.168.1.0/24      !192.168.1.0/24

iptables -L -v
Chain INPUT (policy ACCEPT 1699 packets, 354K bytes)
 pkts bytes target     prot opt in     out     source               destination
   18  1179 ACCEPT     udp  --  virbr0 any     anywhere             anywhere            udp dpt:domain
    0     0 ACCEPT     tcp  --  virbr0 any     anywhere             anywhere            tcp dpt:domain
    2   656 ACCEPT     udp  --  virbr0 any     anywhere             anywhere            udp dpt:bootps
    0     0 ACCEPT     tcp  --  virbr0 any     anywhere             anywhere            tcp dpt:bootps

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 2448 3146K ACCEPT     all  --  any    any     anywhere             192.168.1.0/24      state NEW,RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  any    virbr0  anywhere             192.168.1.0/24      state RELATED,ESTABLISHED
 1448 79657 ACCEPT     all  --  virbr0 any     192.168.1.0/24       anywhere
    0     0 ACCEPT     all  --  virbr0 virbr0  anywhere             anywhere
    0     0 REJECT     all  --  any    virbr0  anywhere             anywhere            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 any     anywhere             anywhere            reject-with icmp-port-unreachable

@ g-bach

хорошо, ниже приведены правила фильтрации (iptables -L -v -t filter).

об архитектуре: хост с 2 ips сопоставлен с eth0 и eth1. eth1 - это мост для libvirt. и должен направлять / masq на разные виртуальные машины (обычно у нас нет перекрывающихся портов, открытых для виртуальных машин - по крайней мере, не ниже 1024).

немного поигравшись, я могу лучше сформулировать проблему:

это правила межсетевого экрана (iptables). Я, очевидно, не понимаю, как настроить iptables (никогда этого раньше не делал). Когда я дико играл с ними, мне приходилось работать с разными вещами, а с другими - нет (соединения с серверами ubuntu работали, входящие соединения больше не работали и т. Д.).

Значит, вы были правы, и с мостом все в порядке. О пинге и подключении от ВМ к внешнему: он не работает с wget и ssh / telnet. есть начальное соединение, но затем данные не отправляются (я маршрутизировал 20, 21 и 22). также - например, Я могу установить apache и wordpress в виртуальную машину и подключиться к ней извне, но тогда wordpress не может установить ftp-соединение для получения обновлений и т. д.

iptables -L -v -t фильтр

Chain INPUT (policy ACCEPT 19574 packets, 7015K bytes)
 pkts bytes target     prot opt in     out     source               destination
   27  1757 ACCEPT     udp  --  virbr0 any     anywhere             anywhere            udp dpt:domain
    0     0 ACCEPT     tcp  --  virbr0 any     anywhere             anywhere            tcp dpt:domain
   43 14104 ACCEPT     udp  --  virbr0 any     anywhere             anywhere            udp dpt:bootps
    0     0 ACCEPT     tcp  --  virbr0 any     anywhere             anywhere            tcp dpt:bootps

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 1850  119K ACCEPT     all  --  any    any     anywhere             192.168.1.0/24      state NEW,RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  any    virbr0  anywhere             192.168.1.0/24      state RELATED,ESTABLISHED
 1538  308K ACCEPT     all  --  virbr0 any     192.168.1.0/24       anywhere
    0     0 ACCEPT     all  --  virbr0 virbr0  anywhere             anywhere
    0     0 REJECT     all  --  any    virbr0  anywhere             anywhere            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 any     anywhere             anywhere            reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT 5787 packets, 635K bytes)
 pkts bytes target     prot opt in     out     source               destination

Спасибо за ваши старания!

Поскольку вы можете пинговать сайты с виртуальной машины, маршрутизация не может быть проблемой - по крайней мере, я не понимаю, как это могло быть. Не могли бы вы опубликовать iptables для таблицы фильтров? Возможно, возникла проблема с пересылкой новых исходящих соединений через определенные порты.

Просто чтобы убедиться, что я правильно понял, какую топологию вы используете: у вас есть физический сервер Ubuntu 10.04 с двумя IP-адресами, на этом сервере вы запускаете виртуальную машину, которая имеет один интерфейс, подключенный к одному из интерфейсов сервера? Я думаю, что здесь что-то не так, не совсем соответствует вашему описанию ...

С другой стороны, намеренно ли INPUT и OUTPUT имеют свои политики, установленные на ACCEPT, а также набор правил, которые также переходят на ACCEPT? Я не понимаю, как это может повлиять на вашу проблему, мне просто любопытно: P