• Правила IPTABLES для раздачи с локального DNS сервера?

    @nomaster Автор вопроса
    Если разобраться
    1. Приходит пакет, который мы должны перенаправить на сервер в локальной сети перед принятием решения о маршрутизации
    -A PREROUTING -i wlan0 -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.20:53
    -A PREROUTING -i wlan0 -p tcp -m tcp --dport 53 -j DNAT --to-destination 127.0.0.20:53
    2. Маршрутизация по цепочке FORWARD, но я разрешил проброс в цепочке *filter :FORWARD ACCEPT [0:0]

    -I FORWARD 1 -i wlan0 -o wlan0 -d 127.0.0.20 -p udp -m udp --dport 53 -j ACCEPT
    -I FORWARD 1 -i wlan0 -o wlan0 -d 127.0.0.20 -p tcp -m tcp --dport 53 -j ACCEPT
    3. Меняем обратный адрес пакета
    -A POSTROUTING -o wlan0 -p udp -m udp --dport 53 -j SNAT --to-source 192.168.1.11:53
    -A POSTROUTING -o wlan0 -p tcp -m tcp --dport 53 -j SNAT --to-source 192.168.1.11:53
    4. Все dns запросы идут на локальный dns сервер
    -A OUTPUT -o wlan0 -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.20:53
    -A OUTPUT -o wlan0 -p tcp -m tcp --dport 53 -j DNAT --to-destination 127.0.0.20:53

    192.168.1.11 ip машины, где стоит dns сервер и настраиваю iptables

    Так или нет? Где ошибка?
    ___________________________________________________________________

    Решил задачу двумя правилами в цепочке *nat так:
    -A PREROUTING -i wlan0 -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.20:53
    -A POSTROUTING -o wlan0 -p udp -m udp --dport 53 -j SNAT --to-source 192.168.1.11:53

    плюс команда для маршрутов через localhost
    sysctl -w net.ipv4.conf.all.route_localnet=1

    Всем спасибо за комментарии, помогли дойти до ответа :)
    Ответ написан