1

Я новичок в IPtables. Я добавил следующие строки в мой маршрутизатор, чтобы перенаправить запрос DNS на openDNS.

iptables -t nat -I PREROUTING -i br0 -s 192.168.1.200 -p udp --dport 53 -j DNAT --to 208.67.222.222
iptables -t nat -I PREROUTING -i br0 -s 192.168.1.200 -p tcp --dport 53 -j DNAT --to 208.67.222.222

iptables -t nat -I PREROUTING -i br0 -s 192.168.1.201 -p udp --dport 53 -j DNAT --to 208.67.222.222
iptables -t nat -I PREROUTING -i br0 -s 192.168.1.201 -p tcp --dport 53 -j DNAT --to 208.67.222.222

У меня есть много строк, как это для всех устройств. Я хочу избежать этого в несколько строк.

Вопрос в том, как указать диапазон IP (скажем, от 192.168.1.200 до 192.168.1.240) в одной командной строке (одна для tcp и одна для udp)?

1 ответ1

1

Вы можете сделать это, заменив -s на --src-range

пример:

iptables -t nat -I PREROUTING -i br0 -m iprange --src-range 192.168.1.200-192.168.1.240 -p udp --dport 53 -j DNAT --to 208.67.222.222

Вы также можете сделать всю сеть 192.168.1.0/24 с

iptables -t nat -I PREROUTING -i br0 -s 192.168.1.0/24 -p tcp --dport 53 -j DNAT --to 208.67.222.222

источник: страница справочника iptables https://linux.die.net/man/8/iptables

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .