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

Базовая работа в сети: Серверный маршрутизатор Centos + настройка клиента Ubuntu .. невозможно получить доступ к внешнему миру с клиента

Я пытаюсь настроить свой сервер Centos с двумя сетевыми адаптерами в качестве маршрутизатора. eth0 подключен к внешнему миру, а eth1 подключен к клиенту Ubuntu.

Вот eth0 на сервере:

DEVICE=eth0
BOOTPROTO=dhcp 
ONBOOT=yes
TYPE=Ethernet

eth1 на сервере:

DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.0.10 # a free address on my network
ONBOOT=yes
TYPE=Ethernet

На моем сервере включена пересылка пакетов IPv4, а мои iptables содержат только:

# iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
# iptables --append FORWARD --in-interface eth1 -j ACCEPT

В моем клиенте Ubuntu это есть /etc/network/interfaces

auto lo
iface lo inet loopback

iface eth0 inet dhcp
   gateway 192.168.0.10

но я не могу подключиться к Интернету с сервера для моего клиента. Я даже не могу пропинговать свой сервер от клиента:

$ ping 192.168.0.10
Destination Host Unreachable

Я единственный, кто заметил, что eth1 на сервере Centos и eth0 на клиенте используют один и тот же IP-адрес, если опубликованные вами конфигурации верны. Моя привычка - если я собираюсь использовать машину в качестве шлюза Linux, я обычно использую .1 в качестве последнего октета. поэтому eth1 на сервере будет 192.168.0.1, а eth0 на клиенте будет 192.168.0.10. Конечно, вам нужно ввести маршрут для шлюза с помощью route add default gw 192.168.0.1 на клиенте. Позже я еще раз просмотрю ваши настройки iptables, чтобы проверить, вижу ли я что-нибудь.

С eth0 на сервере, использующем dhcp, if должен получить все, что ему нужно, от провайдера, так что в этом нет ничего плохого ... (О, и вам не нужно ничего делать с маршрутами или iptables, чтобы просто пропинговать маршрутизатор Centos. Routes и iptables вступают в игру только при попытке доступа к внешнему миру, поэтому давайте работать над одним делом за раз и просто заставим клиента сначала поговорить с маршрутизатором. Этот конфликт ip, вероятно, мешает этому.) Удачи !! !

Для начала, используете ли вы DHCP на сервере?

Глядя на вышесказанное, eth0 на Сервере - это «внутренний» интерфейс. Приведенная выше сетевая конфигурация предполагает, что внутренний интерфейс на сервере (он же маршрутизатор) использует DHCP. Есть ли причина для этого конфига? Обычно лучше установить статический IP-адрес шлюза. Кроме того, IP-адрес сервера eth0 должен отличаться от 192.168.0.x / 24 (я предполагаю, что вы используете здесь 24-битную маску).

Конфигурация eth0 клиента (я предполагаю, что это единственный интерфейс на клиенте, который подключает клиента к порту eth0 сервера через устройство switch / hub / l2) также использует DHCP. Возможно, для тестирования проще использовать статический IP-адрес. Опять же, IP-адрес клиента не должен находиться в подсети 192.168.0.x / 24.

Наконец, шлюз на клиенте должен быть настроен на IP-адрес eth0 на сервере.

Таблица маршрутизации на сервере должна показывать 192.168.0.x / 24 и 192.168.1.x / 24 (вы можете использовать любой другой частный IP-адрес) как напрямую связанные с его маршрутом по умолчанию, указывающим на IP-адрес шлюза для этого сегмента. (не 192.168.1.10, а gw, предоставленный вам вашим интернет-провайдером).

hth