معرفی v2ray

v2ray یک نرم افزار رایگان است که به زبان golang نوشته شده است، ویژگی های کراس پلتفرم، کارایی بالا و قابلیت استفاده بالا را دارد، پروتکل های زیادی را پشتیبانی می کند، از ss بالاتر است، بنابراین به عنوان یک راه حل جدی انتخاب شده است.

لینک نصب V2ray-vmess روی openwrt

سایتهای چینی تنظیم V2ray

https://here2say.com/33/

ساختار vray به شرح زیر است

v2ray core openwrt v2ray
ساختار شماتیک نرم افزار V2Ray

ماژول‌های ورودی و خروجی در این راه‌حل فقط شامل dokodemo، آزادی و خروجی هستند و حالت‌های پراکسی باقیمانده ضروری نیستند، برای مثال، سیاه‌چاله را می‌توان دقیقاً مانند فیلتر کردن تبلیغات حذف کرد.

بعد از خواندن فایل پیکربندی لایه انتقال را نیز می توان ساده کرد به عنوان مثال از domainsocket، kcp، quic و websocket استفاده نمی شود، لطفا ابتدا نظر دهید و آن را تنظیم کنید.

اصل پروکسی شفاف در V2ray

قوانین فوروارد iptables در روتر تنظیم می شود و ترافیک هدف روی دستگاه به پورت ۵۴۳۲۱ v2ray هدایت می شود.

فرض کنید از یک وب سایت خارجی مانند گوگل و غیره بازدید می کنید، دروازه همچنان از DNS سیستم برای پرس و جو استفاده می کند، اما نتیجه برگشتی آلوده است و sniffing ارائه شده توسط V2Ray می تواند اطلاعات نام دامنه را از ترافیک استخراج کرده و به آن ارسال کند. VPS برای تجزیه و تحلیل یعنی هر بار که قصد بازدید از یک وب‌سایت مسدود شده را دارید، ارائه‌دهنده DNS آن را می‌داند، اما در واقع ما هنوز راه VPS را در پیش داریم.

از آنجایی که V2Ray در حال حاضر فقط می‌تواند ترافیک TCP/UDP را پروکسی کند، ICMP از آن پشتیبانی نمی‌کند، حتی اگر پراکسی شفاف موفق باشد، پینگ کردن وب‌سایت‌هایی مانند Google کار نخواهد کرد، اما اساساً کافی است.


مرجع : https://moecm.com/something-about-v2ray-with-tproxy/

Dokodemo door

Dokodemo door (هر دری) یک پروتکل داده ورودی است، می تواند به یک پورت محلی گوش دهد و تمام داده های وارد شده به این پورت را به پورت سرور مشخص شده ارسال کند تا به اثر نگاشت پورت برسد. [۱]

لیست دستورات مورد نیاز برای نصب

روش پیدا کردن فایل کانفیگ V2rayfind / -name v2r*json
نمایش همه ی بسته های openwrt نصب شده در سیستم   opkg -l
نمایش همه ی بسته های openwrt با نام httpd    opkg -l | grep httpd
نمایش اطلاعات مربوط به یک بسته ی خاص که در سیستم نصب شده است  opkg -s [package]
نمایش لیست فایل های مربوط به یک بسته ی نصب شده در سیستم opkg -L [package]
نمایش لیست فایل های مربوط به یک بسته که هنوز نصب نشدopkg –contents [package.deb]
بررسی اینکه فایل مورد نظر به کدام بسته تعلق دارد opkg -S /bin/ping
پیدا کردن پورتهای باز در برنامه openwrtnetstate -lptn
مشاهد ه کانفیگ v2rayv2ray -configdir /etc/v2ray
service dnsmasq restart
uci commit
v2ray -version
ls /etc/init.d
نمایش مشخصات کامل فایل ها و دایرکتوری ها که بر اساس حجم مرتب شده اند  .ls -lSr |more
مشاهده مشخصات کامل فایلها و دایرکتوریها ls -lrth
نمایش محتویات یک فایل به طوری که تغییرات صورت گرفته در فایل به طور لحظه ای نمایش داده می شود tail -f /var/log/messages
نمایش محتویات یک فایل با شروع از خط آخر tac file1
نمایش محتویات یک فایل با شروع از سطر اول cat file1
مشاهده ی وضعیت اتصال تمامی شبکه های موجود. ip link show

دستورات شبکه ای :

پیکربندی روتر با مرجع سایت https://here2say.com/33/

  • ۱. دستگاه دروازه انتقال IP را فعال می کند. مسیر ورود، گزینه enable را به فایل /etc/sysctl.conf اضافه می کند و آن را اعمال می کند:
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

۲. IP روتر را روی IP ثابت قرار دهید، در اینجا از k2 به عنوان مسیر ثانویه یا دروازه استفاده کنید، IP دروازه ثابت ۱۹۲.۱۶۸.۲.۱ است.

دو عملکرد وجود دارد: یکی جلوگیری از تغییر IP پس از راه اندازی مجدد و عدم اتصال دستگاه های دیگر به اینترنت؛ دیگری تشخیص شبکه سطح بالا ۱۹۲.۱۶۸.۱.۱/۲۵۵.۲۵۵.۲۵۵.۰،

روتر k2 روی حالت DHCP تنظیم شده است که به طور خودکار IP را برای دستگاه های متصل تخصیص می دهد و فوروارد می کند

به تست دقت کنید، در این زمان، دستگاه های روی روتر و لیانرو می توانند به اینترنت دسترسی داشته باشند، اما نمی توان آنها را به طور خودکار روشن کرد. اگر در این زمان نمی توانید به اینترنت دسترسی داشته باشید، لطفاً ابتدا شبکه را تعمیر کنید تا بعداً بیهوده پرتاب نشوید.

۳. فایل پیکربندی v2ray.json v2ray را تغییر دهید و قوانین ورودی را اضافه کنید

با فرض اینکه قبلاً یک پیکربندی فعال در روتر آپلود شده است.

مثال به شرح زیر است: (… در پیکربندی نشان دهنده پیکربندی معمول مشتری اصلی است)

{
"routing": {...},
"inbounds": [
 {
   ...
 },
 {
   "port": 54321, //开放的端口号
   "protocol": "dokodemo-door",
   "settings": {
     "network": "tcp,udp",
     "followRedirect": true // 这里要为 true 才能接受来自 iptables 的流量
   },
   "sniffing": {
     "enabled": true,
     "destOverride": ["http", "tls"]
   }
 }
],
"outbounds": [
 {
   ...
   "streamSettings": {
     ...
     "sockopt": {
       "mark": 255  //这里是 SO_MARK,用于 iptables 识别,每个 outbound 都要配置;۲۵۵可以改成其他数值,但要与下面的 iptables 规则对应;如果有多个 outbound,最好奖所有 outbound 的 SO_MARK 都设置成一样的数值
     }
   }
 }
 ...
]
}

لطفا توضیح بده. لطفا توضیح بدهید. لطفا توضیح دهید

(۱) تنظیمی را در قانون ورودی اضافه کنید، که شماره پورت را مشخص می کند، حتی اگر در iptables به این پورت ارسال شود، v2ray ما ترافیک این پورت را پردازش می کند.

(۲) پروتکل اضافه شده “Any Door” است، یعنی dokodemo-door

(۳) یک سوککوپت مقدار را به تنظیمات stream در زیر خروجی اضافه کنید

 {
   "port": 54321, //监听的透传端口号
   "protocol": "dokodemo-door",
   "settings": {
     "network": "tcp,udp",
     "followRedirect": true // 这里要为 true 才能接受来自 iptables 的流量
   },
   "sniffing": {
     "enabled": true,
     "destOverride": ["http", "tls"]
   }
 }

در زیر یک پیکربندی کامل، فقط برای مرجع است

{
  "dns" : {
    "servers" : [
      "localhost"
    ]
  },
  "inbounds" : [
    {
      "port": 54321,
      "protocol": "dokodemo-door",
      "settings": {
        "network": "tcp,udp",
        "followRedirect": true
        },
        "sniffing": {
          "enabled": true,
          "destOverride": ["http", "tls"]
          }
    },
    {
      "listen" : "0.0.0.0",
      "port" : 1081,
      "protocol" : "socks",
      "tag" : "socksinbound",
      "settings" : {
        "auth" : "noauth",
        "udp" : false,
        "ip" : "127.0.0.1"
      }
    },
    {
      "listen" : "0.0.0.0",
      "port" : 8001,
      "protocol" : "http",
      "tag" : "httpinbound",
      "settings" : {
        "timeout" : 0
      }
    }
  ],
  "outbounds" : [
    {
      "sendThrough" : "0.0.0.0",
      "mux" : {
        "enabled" : false,
        "concurrency" : 8
      },
      "protocol" : "vmess",
      "settings" : {
        "vnext" : [
          {
            "address" : "35.1.1.1",
            "users" : [
              {
                "id" : "710c31ec-acc0-40ff-bbe8-",
                "alterId" : 64,
                "security" : "auto",
                "level" : 1
              }
            ],
            "port" : 12306
          }
        ]
      },
      "tag" : "gce",
      "streamSettings" : {
     "sockopt": {
       "mark": 255
     },
        "wsSettings" : {
          "path" : "",
          "headers" : {

          }
        },
        "quicSettings" : {
          "key" : "",
          "security" : "none",
          "header" : {
            "type" : "none"
          }
        },
        "tlsSettings" : {
          "allowInsecure" : false,
          "alpn" : [
            "http\/1.1"
          ],
          "serverName" : "server.cc",
          "allowInsecureCiphers" : false
        },
        "sockopt" : {

        },
        "httpSettings" : {
          "path" : "",
          "host" : [
            ""
          ]
        },
        "tcpSettings" : {
          "header" : {
            "type" : "none"
          }
        },
        "kcpSettings" : {
          "header" : {
            "type" : "none"
          },
          "mtu" : 1350,
          "congestion" : false,
          "tti" : 20,
          "uplinkCapacity" : 5,
          "writeBufferSize" : 1,
          "readBufferSize" : 1,
          "downlinkCapacity" : 20
        },
        "security" : "none",
        "network" : "tcp"
      }
    }
  ],
  "routing" : {
    "name" : "all_to_main",
    "domainStrategy" : "AsIs",
    "rules" : [
      {
        "type" : "field",
        "outboundTag" : "gce",
        "port" : "0-65535"
      }
    ]
  },
  "log" : {
    "error" : "\/var\/folders\/4_\/fcwszxr93jzc96dp3pzttx3h0000gn\/T\/cenmrev.v2rayx.log\/error.log",
    "loglevel" : "none",
    "access" : "\/var\/folders\/4_\/fcwszxr93jzc96dp3pzttx3h0000gn\/T\/cenmrev.v2rayx.log\/access.log"
  }
}

۴. قوانین حمل و نقل iptables را تنظیم کنید

یادداشت های مرجع خاص

توصیه می شود این مرحله را به صورت اسکریپت درآورید، زیرا پس از هر اجرا، پس از راه اندازی مجدد نیاز به اجرا مجدد دارد.

iptables -t nat -N V2RAY # 新建一个名为 V2RAY 的链
iptables -t nat -A V2RAY -d 192.168.0.0/16 -j RETURN # 直连 ۱۹۲.۱۶۸.۰.۰/۱۶
iptables -t nat -A V2RAY -p tcp -j RETURN -m mark --mark 0xff # 直连 SO_MARK 为 0xff 的流量(0xff 是 ۱۶ 进制数,数值上等同与上面配置的 ۲۵۵),此规则目的是避免代理本机(网关)流量出现回环问题
iptables -t nat -A V2RAY -p tcp -j REDIRECT --to-ports 54321 # 其余流量转发到 ۵۴۳۲۱ 端口(即 V2Ray)
iptables -t nat -A PREROUTING -p tcp -j V2RAY # 对局域网其他设备进行透明代理
iptables -t nat -A OUTPUT -p tcp -j V2RAY # 对本机进行透明代理


ip rule add fwmark 1 table 100
ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -N V2RAY_MASK
iptables -t mangle -A V2RAY_MASK -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A V2RAY_MASK -p udp -j TPROXY --on-port 54321 --tproxy-mark 1
iptables -t mangle -A PREROUTING -p udp -j V2RAY_MASK

۵. هنگامی که قوانین iptable بالا اجرا می شوند، از پیکربندی استفاده می کنیم تا v2ray را در روتر راه اندازی کنیم و آن را در پس زمینه اجرا کنیم ./v2ray -config config.json & و سپس در هر ترمینال به روتر دسترسی پیدا کنیم تا آزادانه به گوگل و دنیای خارج دسترسی داشته باشیم.

۶. بعد چه باید کرد

اگر قبلا مشکلی وجود نداشت، تمام مراحل را در یک اسکریپت بنویسید و آن را راه اندازی کنید

اصل پروکسی شفاف

قوانین فوروارد iptables در روتر تنظیم می شود و ترافیک هدف روی دستگاه به پورت ۵۴۳۲۱ v2ray هدایت می شود.

فرض کنید از یک وب سایت خارجی مانند گوگل و غیره بازدید می کنید، دروازه همچنان از DNS سیستم برای پرس و جو استفاده می کند، اما نتیجه برگشتی آلوده است و sniffing ارائه شده توسط V2Ray می تواند اطلاعات نام دامنه را از ترافیک استخراج کرده و به آن ارسال کند. VPS برای تجزیه و تحلیل یعنی هر بار که قصد بازدید از یک وب‌سایت مسدود شده را دارید، ارائه‌دهنده DNS آن را می‌داند، اما در واقع ما هنوز راه VPS را در پیش داریم.

از آنجایی که V2Ray در حال حاضر فقط می‌تواند ترافیک TCP/UDP را پروکسی کند، ICMP از آن پشتیبانی نمی‌کند، حتی اگر پراکسی شفاف موفق باشد، پینگ کردن وب‌سایت‌هایی مانند Google کار نخواهد کرد، اما اساساً کافی است.

Header text

Header text

چگونه میتوانیم بدون فعال کردن سرویس Tproxy در V2ray از سرویس proxy:Soxs5 فایرفاکس استفاده کنیم ؟

در فایرفاکس باید پراکسی را فعال و پورت ساکس و آی پی سرور را ست کنیم

لازم است در فایر فاکس گزینه Proxy DNS when using SOCKS v5 را فعال نماییم تا DNS درست کار کند .

1 پاسخ به openwrt-v2ray
  1. دیدگاه *بعد از نصب پکیج luci-app-v2ray (2.0.0-1) خطاهلای زیر ظاهر میشود .
    Executing package manager
    Installing luci-app-v2ray (2.0.0-1) to root…
    Installing libmnl0 (1.0.4-2) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/libmnl0_1.0.4-2_mips_24kc.ipk
    Installing ip-tiny (5.0.0-2.1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/ip-tiny_5.0.0-2.1_mips_24kc.ipk
    Installing kmod-nfnetlink (4.14.275-1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/targets/ar71xx/mikrotik/kmods/4.14.275-1-45ac9e65a50ef93760062d2f90a31388/kmod-nfnetlink_4.14.275-1_mips_24kc.ipk
    Installing kmod-ipt-ipset (4.14.275-1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/targets/ar71xx/mikrotik/kmods/4.14.275-1-45ac9e65a50ef93760062d2f90a31388/kmod-ipt-ipset_4.14.275-1_mips_24kc.ipk
    Installing libipset13 (7.3-1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/libipset13_7.3-1_mips_24kc.ipk
    Installing ipset (7.3-1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/ipset_7.3-1_mips_24kc.ipk
    Installing kmod-ipt-tproxy (4.14.275-1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/targets/ar71xx/mikrotik/kmods/4.14.275-1-45ac9e65a50ef93760062d2f90a31388/kmod-ipt-tproxy_4.14.275-1_mips_24kc.ipk
    Installing iptables-mod-tproxy (1.8.3-1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/targets/ar71xx/mikrotik/packages/iptables-mod-tproxy_1.8.3-1_mips_24kc.ipk
    Installing resolveip (2) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/resolveip_2_mips_24kc.ipk
    Installing libgmp10 (6.1.2-2) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/libgmp10_6.1.2-2_mips_24kc.ipk
    Installing libnettle7 (3.5.1-1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/libnettle7_3.5.1-1_mips_24kc.ipk
    Installing libnfnetlink0 (1.0.1-3) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/libnfnetlink0_1.0.1-3_mips_24kc.ipk
    Installing kmod-nf-conntrack-netlink (4.14.275-1) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/targets/ar71xx/mikrotik/kmods/4.14.275-1-45ac9e65a50ef93760062d2f90a31388/kmod-nf-conntrack-netlink_4.14.275-1_mips_24kc.ipk
    Installing libnetfilter-conntrack3 (2018-05-01-3ccae9f5-2) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/libnetfilter-conntrack3_2018-05-01-3ccae9f5-2_mips_24kc.ipk
    Installing dnsmasq-full (2.80-16.3) to root…
    Downloading http://downloads.openwrt.org/releases/19.07.10/packages/mips_24kc/base/dnsmasq-full_2.80-16.3_mips_24kc.ipk
    Configuring kmod-nfnetlink.
    Configuring kmod-ipt-tproxy.
    Configuring resolveip.
    Configuring libnfnetlink0.
    Configuring kmod-nf-conntrack-netlink.
    Configuring libmnl0.
    Configuring libnetfilter-conntrack3.
    Configuring ip-tiny.
    Configuring kmod-ipt-ipset.
    Configuring libipset13.
    Configuring ipset.
    Configuring iptables-mod-tproxy.
    Configuring libgmp10.
    Configuring libnettle7.
    Configuring dnsmasq-full.
    Configuring luci-app-v2ray.
    ————————————Errors————————————-
    udhcpc: started, v1.30.1
    udhcpc: sending discover
    udhcpc: no lease, failing
    [info] DNS disabled: main_dns
    [info] Routing disabled: main_routing
    [info] Policy disabled: main_policy
    [info] Reverse disabled: main_reverse
    [info] Setting transparent proxy on port: 1081
    [info] Transparent proxy mode: default
    Collected errors:
    * resolve_conffiles: Existing conffile /etc/config/dhcp is different from the conffile in the new package. The new conffile will be placed at /etc/config/dhcp-opkg.
    * resolve_conffiles: Existing conffile /etc/config/v2ray is different from the conffile in the new package. The new conffile will be placed at /etc/config/v2ray-opkg.
    اشکال چیست ؟


[بالا]

ارسال پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *