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

iptables на маршрутизаторе Linux не пересылает DHCP между двумя локальными сетями

У меня внутренняя сеть такая:

Eth1 маршрутизатора находится в той же локальной сети, что и клиент.
Eth2 маршрутизатора находится в той же локальной сети, что и сервер.

Клиент ↔ [eth1] Маршрутизатор [eth2] ↔ DHCP-сервер


Я настроил клиента на использование DHCP, но я не могу заставить работать правильную строфу iptable (т.е. пересылать UDP-пакеты DHCP между клиентом и сервером. Клиент дает: An error occurred while renewing interface Local Area Connection 2 : unable to contact your DHCP server. Request has timed out.).

Это /etc/sysconfig/iptables У меня сейчас, где линии между #DHCP xxx комментарии - это то, что я пытаюсь использовать для пересылки DHCP:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -i eth2 -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
-A FORWARD -o eth2 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -i eth1 -o eth2 -p tcp --dport 22 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -p tcp --sport 22 -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i eth1 -o eth2 -p tcp --dport 80 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -p tcp --sport 80 -j ACCEPT
-A FORWARD -i eth1 -o eth2 -p tcp --dport 53 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -p tcp --dport 53 -j ACCEPT
-A FORWARD -i eth1 -o eth2 -p udp --dport 53 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -p udp --dport 53 -j ACCEPT
# DHCP start
-A FORWARD -i eth1 -o eth2 -p udp --dport 67 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -p udp --dport 67 -j ACCEPT
-A FORWARD -i eth1 -o eth2 -p udp --dport 68 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -p udp --dport 68 -j ACCEPT
# DHCP end
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Можете ли вы предложить изменения, которые позволят клиентскому компьютеру получать IP-адрес от DHCP-сервера?


Ноты:

DHCP - это широковещательный протокол, который нельзя пересылать (в другой сети нет IP-адреса назначения). Что вам нужно, так это IP Helper, показывающий DHCP-серверу (маршрутизатор должен работать как агент DHCP-ретрансляции, преобразовывая широковещательную рассылку в одноадресную).