Jump to content

Разные IP-адреса домена для выборочного роутинга


Recommended Posts

Во всех инструкциях по выборочному роутингу предлагают создать txt файл с нужным списком для себя доменов, которые должны работать. Будь то обход через VPN или TOR. Проблема в том, что у домена может быть множество IP адресов и даже перезапуск каждые 5 минут скрипта может не помогать.

Вот пример такого домена www.dw.com, а вот его IP адреса

Скрытый текст

104.102.41.203
104.103.89.204
104.79.31.150
104.83.106.244
104.96.144.12
23.197.146.18
23.210.121.236
23.214.234.40
23.214.31.90
23.50.97.31
23.51.74.24
23.54.132.149
88.221.63.244
92.122.63.61

Я для себя решил это так, сделал универсальный скрипт, который в теории должен подойти для большинства обходов, он проверяет IP адрес и сохраняет его, попутно удаляя дубли. 

Установка:

# opkg update
# opkg install nano bind-dig cron
# nano /opt/etc/get_all_ip.sh

Сам скрипт. Поменяйте в нём путь до вашего файла со списком доменов, у меня это /opt/etc/unblock-vpn.txt

#!/bin/sh

cut_local() {
  grep -vE 'localhost|^0\.|^127\.|^10\.|^172\.16\.|^192\.168\.|^::|^fc..:|^fd..:|^fe..:'
}

while read line || [ -n "$line" ]; do
   [ -z "$line" ] && continue
   [ "${line:0:1}" = "#" ] && continue

   # echo "$line","domain_name" >> /opt/etc/unblock-vpn.txt
   rowcnt=$(dig A +short $line | grep -Eo '^([0-9]{1,3}\.){3}[0-9]{1,3}$' | cut_local | awk '{if(system("echo "$1" >> /opt/etc/unblock-vpn.txt") == 0) {print $1}}' | wc -l)
done < /opt/etc/get_all_ip.txt

# удаляем одинаковые IP адреса
awk '!a[$0]++' /opt/etc/unblock-vpn.txt > tmp
mv tmp /opt/etc/unblock-vpn.txt

Даём права

# chmod +x /opt/bin/get_all_ip.sh

Создаем список доменов, без IP адресов

# nano /opt/etc/get_all_ip.txt

И я рекомендую удалить из вашего списка доменов (у меня это /opt/etc/unblock-vpn.txt) все домены, оставив только IP адреса если они были.

Добавляем в cron

# ln -s /opt/bin/get_all_ip.sh /opt/etc/cron.hourly/01get_all_ip

Каждый час скрипт будет проверять IP адреса из списка доменов /opt/etc/get_all_ip.txt, добавляя в ваш файл /opt/etc/unblock-vpn.txt и удалять одинаковые IP адреса.

Возможно есть другие варианты? Буду рад вашему совету или доработке) 

Link to comment
Share on other sites

Варианты есть. В этом варианте IP собираются непосредственно при обращении по доменному имени к DNS, а не каждый час. В вашем случае может возникнуть ситуация когда вы получите IP которого ещё нет в вашем списке со всеми вытекающими.

 

  • Thanks 1
Link to comment
Share on other sites

  • Илья Хрупалов changed the title to Разные IP-адреса домена для выборочного роутинга

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...