LINUX.ORG.RU

Как маршрутизировать некоторые сайты с помощью IPSET и DNSMASQ на определенный интерфейс?

 , ,


0

2

Помогите настроить правильно маршрутизацию некоторых сайтов на другой интерфейс, с помощью ipset и dnsmasq. Уже просмотрел все что нашел мануалы, но все равно что то не так работает, точнее нужные домены не идут через выбранный интерфейс.

cat /etc/resolv.conf

# Generated by NetworkManager
nameserver 127.0.0.1
nameserver 192.168.0.1

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:42:c6:27:b3:b1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.6/24 brd 192.168.2.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fd45:e02f:827e:0:42:c6ff:fe27:b3b1/64 scope global mngtmpaddr dynamic
       valid_lft forever preferred_lft forever
    inet6 fe80::42:c6ff:fe27:b3b1/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 12:42:c6:27:b3:b1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.105/24 brd 192.168.0.255 scope global dynamic wlan0
       valid_lft 6951sec preferred_lft 6951sec
    inet6 fe80::5617:c487:bc95:a666/64 scope link
       valid_lft forever preferred_lft forever
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none
    inet 10.114.114.2/24 brd 10.114.114.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::51f9:2967:8ef2:bac7/64 scope link flags 800
       valid_lft forever preferred_lft forever

ip r

default via 192.168.0.1 dev wlan0 proto static metric 600
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.105 metric 600
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.6
10.114.114.0/24 dev tun0 proto kernel scope link src 10.114.114.2

cat /etc/dnsmasq.conf

listen-address=127.0.0.1
server=/eth0.me/vk.com/127.0.0.1
ipset=/eth0.me/vk.com/vpnlist

host -a eth0.me

Trying "eth0.me"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7688
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;eth0.me. IN ANY

;; ANSWER SECTION:
eth0.me. 83491 IN SOA ns1.internex.at. do-not-reply.eth0.me. 2019021705 43200 7200 1209600 86400
eth0.me. 83491 IN NS ns3.internex.at.
eth0.me. 83491 IN NS ns4.internex.at.
eth0.me. 83491 IN NS ns1.internex.at.
eth0.me. 83491 IN NS ns2.internex.at.

Received 157 bytes from 127.0.0.1#53 in 19 ms

Создание таблицы и маршрутизации:

ipset create vpnlist hash:ip timeout 3600
ip rule add fwmark 1 table 1
ip route add default dev tun0 table 1
iptables -w -A PREROUTING -t mangle -m set --match-set vpnlist dst,src -j MARK --set-mark 1

пробовал менять на

iptables -w -A OUTPUT -t mangle -m set --match-set vpnlist dst -j MARK --set-mark 1

Выполняю wget -qO- eth0.me в ответ вывод ip провайдера, а не vpn.

все крутиться на на одном хосте (не роутер, ОС Debian). При использовании traceroute -i wlan0 eth0.me и traceroute -i tun0 eth0.me есть ответ без проблем.

# Generated by NetworkManager
nameserver 127.0.0.1
nameserver 192.168.0.1

половина запросов идет на 192.168.0.1 мимо dnsmasq.

pekmop1024 ★★★★★
()

проверяй после запроса сам ipset, пока не появится айпишка в нем, смысла дальше копать нет

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

файл генерирует NetworkManager, мне не удается оставить лишь 127.0.0.1 (если только заблочить на запись, но не хочется так).

И отвечая на следующий вопрос даже если ip добавлены, все равно ни чего.

Name: vpnlist
Type: hash:ip
Revision: 4
Header: family inet hashsize 1024 maxelem 65536 timeout 3600
Size in memory: 392
References: 1
Number of entries: 6
Members:
87.240.190.67 timeout 3589
87.240.139.194 timeout 3589
93.186.225.208 timeout 3589
87.240.190.72 timeout 3589
87.240.137.158 timeout 3589
87.240.190.78 timeout 3589
sergey0093
() автор топика
Ответ на: комментарий от pekmop1024
ipset create vpnlist hash:ip timeout 3600
ip rule add fwmark 1 table 1
ip route add default dev tun0 table 1
iptables -w -A OUTPUT -t mangle -m set --match-set vpnlist dst -j MARK --set-mark 1

после этого вообще пинг пропадает

PING eth0.me (5.132.162.27) 56(84) bytes of data.
sergey0093
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.