Я осмотрелся и очень смущен тем, как я могу пересылать dhcp-запрос клиенту с помощью iptables. Я понимаю, что DHCP работает на двух портах UDP: 67 на стороне сервера и 68 на стороне клиента. Моя сеть выглядит примерно так: Топология сети
Я установил цепочки INPUT, OUTPUT, FORWARD и все сбросил. Я попытался iptables -A FORWARD -p udp -s 0/0 --dport 67 -j ACCEPT
iptables -A FORWARD -p udp -d 0/0 --sport 67 -J ACCEPT
iptables -A FORWARD -p udp -s 0/0 --dport 68 -j ACCEPT
iptables -A FORWARD -p udp -s 0/0 --sport 68 -j ACCEPT
Но это не работает!
iptables:
iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -N accept-input
iptables -A accept-input -j LOG --log-prefix "INPUT-ALLOWED "
iptables -A accept-input -j ACCEPT
iptables -N drop-input
iptables -A drop-input -j LOG --log-prefix "INPUT-BLOCKED "
iptables -A drop-input -j DROP
iptables -N accept-output
iptables -A accept-output -j LOG --log-prefix "OUTPUT-ALLOWED "
iptables -A accept-output -j ACCEPT
iptables -N drop-output
iptables -A drop-output -j LOG --log-prefix "OUTPUT-BLOCKED "
iptables -A drop-output -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j accept-input
iptables -A OUTPUT -p tcp -d 0/0 --sport 22 -m state --state ESTABLISHED,RELATED -j accept-output
Я добавил это правило только для того, чтобы посмотреть, работает ли оно, и оно действительно работает!