Я пытаюсь настроить свой сервер 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