Skip to main content

Настройка средствами iptables использования нестандартного порта для запросов DNS

Приведенные здесь правила iptables являются примером. Эти правила необходимо адаптировать к существующей конфигурации.

eth0 - внутренний интерфейс
eth1 - внешний интерфейс

Если все уже настроено и работает, то должно быть достаточно поместить правила в начало таблицы

# Делаем перенаправление для запросов из внутренней сети 
iptables -t nat -I PREROUTING 1 -i eth0 -p udp --dport 53 -j DNAT --to-destination 193.58.251.251:1253 
iptables -t nat -I PREROUTING 1 -i eth0 -p tcp --dport 53 -j DNAT --to-destination 193.58.251.251:1253 
# Делаем перенаправление для запросов с этой машины 
iptables -t nat -I OUTPUT 1 -o eth1 -p udp --dport 53 -j DNAT --to-destination 193.58.251.251:1253 
iptables -t nat -I OUTPUT 1 -o eth1 -p tcp --dport 53 -j DNAT --to-destination 193.58.251.251:1253

Минимальная конфигурация

# Включаем форвардинг 
echo 1 > /proc/sys/net/ipv4/ip_forward 

# Чистим таблицы 
iptables -F FORWARD 
iptables -t nat -F PREROUTING 
iptables -t nat -F OUTPUT 
iptables -t nat -F POSTROUTING 

# Выставляем политику ACCEPT 
iptables -P FORWARD ACCEPT 
iptables -t nat -P PREROUTING ACCEPT 
iptables -t nat -P OUTPUT ACCEPT 
iptables -t nat -P POSTROUTING ACCEPT 

# Делаем перенаправление для запросов из внутренней сети 
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 53 -j DNAT --to-destination 193.58.251.251:1253 
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 53 -j DNAT --to-destination 193.58.251.251:1253 

# Делаем перенаправление для запросов с этой машины 
iptables -t nat -A OUTPUT -o eth1 -p udp --dport 53 -j DNAT --to-destination 193.58.251.251:1253 
iptables -t nat -A OUTPUT -o eth1 -p tcp --dport 53 -j DNAT --to-destination 193.58.251.251:1253 

# Делаем MASQUERADE к IP-адресу на внешнем интерфейсе 
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE