Задать вопрос
@SysUtils

Настройка правил iptables?

И снова всем Здравствуйте, авось кто помнит) В общем, опять я к старому вернулся, после небольшой(или большой, для кого как) передышки. Все та же задача. Раздать Wi-Fi на внешний адаптер с отфильтрованным через Socks TCP/UDP трафиком. Сделано почти все, осталась финишная прямая, а именно, при подключении планшета к этому адаптеру DNS идет Google, вместе с DNS от Socks, а нужно чтобы просто было от Socks. В общем, то что работает расписывать не буду. Вкратце объясню. Запущен Redsocks, прописаны правила под него, запущен isc-dhcp-server, настроен на раздачу адресов для адаптера, запущен hostapd, который собственно и раздает, запущен dns-tcp-socks-proxy. Это трогать не буду, все четко работает. Вот что говорит netstat
tcp        0      0 0.0.0.0:6666            0.0.0.0:*               LISTEN      3234/redsocks
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1172/dnsmasq
tcp        0      0 192.168.2.1:53          0.0.0.0:*               LISTEN      1172/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1251/sshd
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1604/master
tcp6       0      0 ::1:53                  :::*                    LISTEN      1172/dnsmasq
tcp6       0      0 :::22                   :::*                    LISTEN      1251/sshd
tcp6       0      0 :::25                   :::*                    LISTEN      1604/master
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           973/avahi-daemon: r
udp        0      0 0.0.0.0:3533            0.0.0.0:*                           1333/dhcpd
udp        0      0 0.0.0.0:57326           0.0.0.0:*                           973/avahi-daemon: r
udp        0      0 127.0.0.1:53            0.0.0.0:*                           1172/dnsmasq
udp        0      0 192.168.2.1:53          0.0.0.0:*                           1172/dnsmasq
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1333/dhcpd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1172/dnsmasq
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1723/dhclient
udp        0      0 192.168.2.1:123         0.0.0.0:*                           1440/ntpd
udp        0      0 192.168.1.25:123        0.0.0.0:*                           1440/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           1440/ntpd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           1440/ntpd
udp        0      0 0.0.0.0:631             0.0.0.0:*                           1099/cups-browsed
udp6       0      0 :::48014                :::*                                973/avahi-daemon: r
udp6       0      0 :::5353                 :::*                                973/avahi-daemon: r
udp6       0      0 :::41002                :::*                                1333/dhcpd
udp6       0      0 ::1:53                  :::*                                1172/dnsmasq
udp6       0      0 fe80::c24a:ff:fe2f::123 :::*                                1440/ntpd
udp6       0      0 fe80::ced8:7651:a52:123 :::*                                1440/ntpd
udp6       0      0 ::1:123                 :::*                                1440/ntpd
udp6       0      0 :::123                  :::*                                1440/ntpd
raw        0      0 0.0.0.0:1               0.0.0.0:*               7           1333/dhcpd
raw6       0      0 :::58                   :::*                    7           972/NetworkManager
при запущенном redsocks, hostapd, isc-dhcp-server. Dns-tcp-socks-proxy не запущен, когда он запущен он добавляет лишь одну строку 0.0.0.0:53, слушает все на 53 порту и перенаправляет на Socks(просто в момент написания не было рабочего Socks). Собственно правила прописаны вот эти
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 6666
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner %username% -j REDSOCKS
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
iptables -t nat -A PREROUTING --in-interface  wlan1 -p tcp -j REDSOCKS
sysctl net.ipv4.ip_forward=1
добавил правило
sudo iptables -t nat -A OUTPUT -p udp --dport 123 -j REDIRECT --to-ports 53
так как думал, что оттуда ветер дует, не помогло. Ну и собственно вопрос, как ограничить и/или перенаправить весь исходящий UDP трафик на 53 порт, в том числе и локальный который идет с внешнего интерфейса. ifconfig
eth0      Link encap:Ethernet  HWaddr 4c:72:b9:46:d9:53
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Локальная петля (Loopback)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:203 errors:0 dropped:0 overruns:0 frame:0
          TX packets:203 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:14851 (14.8 KB)  TX bytes:14851 (14.8 KB)

wlan0     Link encap:Ethernet  HWaddr 00:08:ca:f9:2d:e2
          inet addr:192.168.1.25  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::ced8:7651:a520:b747/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2053 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1500 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:972130 (972.1 KB)  TX bytes:236997 (236.9 KB)

wlan1     Link encap:Ethernet  HWaddr c0:4a:00:2f:82:01
          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::c24a:ff:fe2f:8201/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:7064 (7.0 KB)

Wi-Fi раздается с wlan1. Если что-то не понятно объяснил, спрашивайте. Надеюсь на скорейшую помощь. Заранее благодарен.
UDP: Вспомнил в самом конце, если dns-tcp-socks-proxy не запущен, то DNS чисто от Google, я так понимаю это Dnsmasq воду мутит по-моему, только вот что конкретно не могу понять.
  • Вопрос задан
  • 1222 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
icCE
@icCE
youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
Очень сумбурно написано. Задача какая в итоге ? Любой трафик в локальной сети направить на свой ДНС ?
Что бы например не могли использовать другой днс ?
Тогда в Iptables Надо сделать редерект все Udp и tcp запросов на 53 порт

iptables -t nat -I PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -I PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53

Весь трафик будет завернут на роутер.

>к этому адаптеру DNS идет Google, вместе с DNS от Socks, а нужно чтобы просто было от Socks.

Получает по DHCP ? тогда убрать из dnsmasq выдачу DNS от Google.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы