Я недавно установил RHEL 5 на виртуальную машину. Сервер настроен на использование статического IP-адреса, который я настроил в графическом интерфейсе конфигурации сети. Настроен только интерфейс Ethernet с именем eth0, который активируется при загрузке. После перезапуска Linux я пошел проверить, действительно ли он активирован, но это было не так, поэтому я вручную активировал устройство.
Зайдя в командную строку, я попробовал:
Однако, если я попытаюсь открыть Firefox и перейти на сайт, ничего не появится. Какие-либо предложения?
ОБНОВЛЕНИЕ 1: Когда я пингую www.google.com, я не получаю «Неизвестный хост», поэтому с DNS все должно быть в порядке.
Следуя совету Мэтта, я выполнил команду route -n и получил следующий результат:
> Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.X.X.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.X.X.1 0.0.0.0 UG 0 0 0 eth0
ОБНОВЛЕНИЕ 2: После выполнения команды:
traceroute -n www.google.com
Я вижу IP-адреса для №1 и №2, но на остальных из них есть три звездочки, где должны быть IP-адреса. Кроме того, я даже не мог подключиться к www.google.com с помощью команды telnet. Таким образом, похоже, что проблема связана с сетевым брандмауэром. Я думаю, что это вся информация, которую я могу предоставить, пока я не смогу подтвердить, действительно ли причина в брандмауэре.
Когда вы пинговали google.com, проблема разрешилась? Другими словами, он подошел и сказал
msimmons@newcastle:~$ ping google.com
PING google.com (74.125.127.100) 56(84) bytes of data.
Или он сказал
ping: unknown host google.com
Предполагая, что он сказал первое, ваш DNS в порядке. На этом этапе давайте посмотрим на маршрутизацию:
Вот мой:
msimmons@newcastle:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.x.x.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 10.x.x.1 0.0.0.0 UG 0 0 0 eth0
Поскольку я нахожусь во внутренней сети, все, что предназначено для 10.x.x.0 / 24 (/ 24 происходит из столбца «genmask»), выходит из локальной карты Ethernet.
Все остальное (0.0.0.0/0) идет на 10.x.x.1, мой шлюз. Я предполагаю, что эта строка, вероятно, отсутствует или испорчена на вашей.
Если у вас относительно простая конфигурация сети и эта строка отсутствует, вы можете выполнить эту команду как root:
# route add default gw 10.x.x.1
Где 10.x.x.1 - ваш шлюз по умолчанию.
РЕДАКТИРОВАТЬ
Хорошо, учитывая новую информацию, похоже, с вашими маршрутами все в порядке. Где находится сервер, на который вы выполняли пинг? На локальном сегменте или удаленном?
В любом случае, давайте посмотрим, где умирает соединение:
traceroute -n www.google.com
Скорее всего, вы хотя бы получите ответ от своего шлюза 10.x.x.1. Все, что происходит раньше, означает, что ваш шлюз направляет вам трафик. Если вы не получаете ответов, это может указывать на то, что проблема вызвана сетевым брандмауэром.
Конечно, есть вероятность, что вы получаете трафик, но ваш шлюз фильтрует ICMP-пакеты. Было бы неплохо попытаться подключиться к Google через telnet и выдать себя за веб-браузер:
msimmons@newcastle:~$ telnet www.google.com 80
Trying 66.102.1.104...
Connected to www.l.google.com.
Escape character is '^]'.
GET / HTTP/1.0
HTTP/1.0 200 OK
Date: Mon, 10 Aug 2009 19:20:19 GMT
Expires: -1
Cache-Control: private, max-age=0
...
Вы набираете «GET / HTTP / 1.0», затем дважды нажимаете Enter ... хотя на самом деле, если у вас есть часть «подключен к ...», вы, вероятно, в порядке.
Обновите, как только вы попробуете это!
Сразу приходят на ум две вещи:
DNS:
DNS работает? Можете ли вы пропинговать IP-адрес www.google.com? Если www.google.com не преобразуется в IP-адрес, значит, DNS настроен неправильно.
Запустите cat /etc/resolv.conf и убедитесь, что ваш DNS-сервер указан в списке, если он не настраивает resolv.conf с помощью эти инструкции.
Шлюз по умолчанию:
Если DNS работает, но вы не можете пинговать www.google.com, возможно, у вас не установлен шлюз по умолчанию, и вы можете пинговать только вещи в своей сети.
Также добавьте шлюз по умолчанию, добавьте строку типа GATEWAY = 192.168.1.1 в ваш / etc / sysconfig / network, а затем перезапустите сеть с помощью:
/etc/init.d/networking restart
исправьте DNS (/etc/resolv.conf), чтобы сетевая карта запускалась каждый раз, отредактируйте / etc / sysconfig / network-scripts / ifcfg-eth0 и измените строку ONBOOT = no на ONBOOT = yes