Policy based routing - XIYO/asuswrt-merlin.ng-kr GitHub Wiki
μ μ± κΈ°λ° λΌμ°ν
λΌμ°ν°λ₯Ό OpenVPN ν΄λΌμ΄μΈνΈλ‘ ꡬμ±ν λ (μλ₯Ό λ€μ΄ LAN μ 체λ₯Ό OpenVPN ν°λ κ³΅κΈ μ 체μ μ°κ²°νκΈ° μν΄), νΉμ ν΄λΌμ΄μΈνΈ λλ νΉμ λμμ΄ ν°λμ ν΅ν΄ λΌμ°ν λμ΄μΌ νλμ§λ₯Ό κ²°μ νλ μ μ± μ μ μν μ μμ΅λλ€. λͺ¨λ νΈλν½μ΄ μλμΌλ‘ ν°λμ ν΅ν΄ λΌμ°ν λμ§ μλλ‘ ν μ μμ΅λλ€. μ΄κ²μ κ°λ "λΆν ν°λλ§"μ΄λΌκ³ λ λΆλ¦½λλ€.
OpenVPN ν΄λΌμ΄μΈνΈ νμ΄μ§μμ "ν°λμ ν΅ν μΈν°λ· νΈλν½ κ°μ " (μ΄μ μ "μΈν°λ· νΈλν½ λ¦¬λλ μ ")μ "μ μ± κ·μΉ" λλ "μ μ± κ·μΉ (μ격)" μ€ νλλ‘ μ€μ ν©λλ€. μ격 λͺ¨λλ ν°λμ μ°νν μ μλ μΆκ° κ²½λ‘κ° μλλ‘ νκΈ° μν΄ νΉμ νκ² ν°λμ λ€νΈμν¬ μΈν°νμ΄μ€λ₯Ό λμμΌλ‘ νλ κ²½λ‘λ§ νμ©ν¨μΌλ‘μ¨ μΆκ° λ¨κ³λ₯Ό μ·¨ν©λλ€. μ΄κ²μ΄ μΌλ°μ μΌλ‘ μ νΈλμ§λ§ WAN μΈν°νμ΄μ€μ μλμΌλ‘ ꡬμ±ν κ²½λ‘μ μΆ©λν μ μκΈ° λλ¬Έμ λ³λμ μ΅μ μΌλ‘ μ 곡λ©λλ€.
μ μ± κ·μΉμ νμ±ννλ©΄ μλμ μλ‘μ΄ μΉμ μ΄ λνλ©λλ€. "μμ€ IP"λ λ‘컬 ν΄λΌμ΄μΈνΈ(μ»΄ν¨ν°, λͺ¨λ°μΌ λ±)μ΄λ©°, "λμ"μ μΈν°λ·μ μ격 μλ²μ λλ€. νλλ "μ΄λ€ IP"λ₯Ό λνλ΄λλ‘ λΉμ λ μ μκ±°λ (λλ 0.0.0.0μΌλ‘ μ€μ ν μ μμ) "μ΄λ€ IP"λ₯Ό λνλ΄κΈ° μν κ²μ λλ€. CIDR νκΈ°λ²μΌλ‘ μ 체 νμλ€νΈμν¬λ μ§μ ν μ μμ΅λλ€ (μ: 74.125.226.112/30).
"Iface" νλ(μΈν°νμ΄μ€μ μ½μ΄)λ μΌμΉνλ νΈλν½μ΄ VPN ν°λμ ν΅ν΄ μ μ‘λκ±°λ μ κ· μΈν°λ· μ‘μΈμ€(WAN)λ₯Ό ν΅ν΄ μ μ‘λμ΄μΌ νλμ§λ₯Ό κ²°μ ν©λλ€. μ΄λ₯Ό ν΅ν΄ VPN κ·μΉ μ΄μ μ WAN κ·μΉμ΄ μ²λ¦¬λλ μμΈλ₯Ό μ μν μ μμ΅λλ€.
κΈ°λ³Έμ μΌλ‘ λͺ¨λ νΈλν½μ WANμ ν΅ν΄ μ΄λν©λλ€. VPN _Iface_λ‘ μ μνλ κ²μ VPNμ ν΅ν΄ λΌμ°ν λ κ²μ λλ€. VPNμ ν΅ν΄ λΌμ°ν νλλ‘ κ΅¬μ±ν κ²½μ°μλ /24λ₯Ό VPNμ ν΅ν΄ λΌμ°ν νλλ‘ κ΅¬μ±νμ§λ§ /24 λ΄μ ν IPκ° WANμ ν΅ν΄ λΌμ°ν λλλ‘ νλ €λ κ²½μ° WAN _Iface_λ₯Ό μ¬μ©ν©λλ€.
μ μ± λΌμ°ν μ νμ±νν λ λ ΈνΈν΄μΌ ν λ€λ₯Έ μ€μ μ VPN ν°λμ΄ λμ΄μ§λ©΄ λΌμ°ν λ ν΄λΌμ΄μΈνΈκ° μΈν°λ·μ μ‘μΈμ€νμ§ λͺ»νλλ‘ νλ κ²μ λλ€. μ΄λ₯Ό μν΄ "ν°λμ΄ λμ΄μ§λ©΄ λΌμ°ν λ ν΄λΌμ΄μΈνΈ μ°¨λ¨"μ νμ±νν©λλ€.
λν μ΄ κΈ°λ₯μ TUN μΈν°νμ΄μ€λ₯Ό μ¬μ©νλ OpenVPN ν°λκ³Όλ§ νΈνλ©λλ€. TAP μΈν°νμ΄μ€λ₯Ό μ¬μ©νμ¬ μ€μ ν ꡬμ±κ³Όλ νΈνλμ§ μμ΅λλ€.
"Accept DNS Configuration" μ μ
"Accept DNS Configuration" νλ κ°μ μ μλ λ€μκ³Ό κ°μ΅λλ€:
- λΉνμ±ν: VPNμμ μ 곡νλ DNS μλ²κ° 무μλ©λλ€.
- 릴λ μ€: VPNμμ μ 곡νλ DNS μλ²κ° νμ¬ DNS μλ² λͺ©λ‘ μμ μΆκ°λλ©°, μ΄λ€ DNS μλ²λ₯Ό μ¬μ©ν΄λ λ©λλ€.
- μ격: VPNμμ μ 곡νλ DNS μλ²κ° νμ¬ DNS μλ² λͺ©λ‘ μμ μΆκ°λλ©°, μμλλ‘ μ¬μ©λ©λλ€. VPNμμ μ 곡νλ DNS μλ²κ° μλ΅νμ§ μλ κ²½μ°μλ§ κΈ°μ‘΄ DNS μλ²κ° μ¬μ©λ©λλ€.
- λ°°ν: μ 곡λ VPN DNS μλ²λ§ μ¬μ©λ©λλ€.
"Accept DNS Configuration" λμ
"Accept DNS configuration"μ _Exclusive_λ‘ μ€μ νκ³ μ μ± κΈ°λ° λΌμ°ν κ³Ό κ²°ν©νλ©΄ VPNμ ν΅ν΄ ꡬμ±λ λͺ¨λ ν΄λΌμ΄μΈνΈλ VPN ν°λμμ μ 곡νλ DNS μλ²λ₯Ό μ¬μ©νκ³ , WANμ ν΅ν΄ ꡬμ±λ ν΄λΌμ΄μΈνΈλ ISPμ DNSλ₯Ό κ³μ μ¬μ©ν©λλ€. "Accept DNS configuration"μ "Exclusive"λ‘ μ€μ νλ λ¨μ μ VPN ν°λμ΄ VPN 곡κΈμμ DNSλ§ μ¬μ©νκΈ° λλ¬Έμ dnsmasqμ΄ μ°νλ κ²μ΄λΌλ κ²μ λλ€. Asuswrt-Merlin νμ¨μ΄μ©μΌλ‘ μμ±λ μΈκΈ° μλ Diversion κ΄κ³ μ°¨λ¨ νλ‘κ·Έλ¨μ dnsmasqμ κΈ°λ₯μ νμλ‘ νκΈ° λλ¬Έμ μλνμ§ μμ κ²μ λλ€. κ·Έλ¬λ νλμ μμΈκ° μμ΅λλ€ - "Accept DNS Configuration"μ "Exclusive"λ‘ μ€μ νκ³ "Force Internet traffic through tunnel"μ "Yes"λ‘ μ€μ νμ¬ μ μ± κ·μΉμ λΉνμ±νν κ²½μ° VPN ν°λμ ν΅ν΄ Diversionμ΄ μλν κ²μ λλ€.
μ μ± κ·μΉκ³Ό ν¨κ» dnsmasq μ¬μ©νκΈ°
dnsmasqλ₯Ό μ μ± κ·μΉκ³Ό ν¨κ» μ¬μ©νλ €λ©΄ "Accept DNS Configuration"μ "Relaxed", "Strict", λλ "Disabled" μ€ νλλ‘ μ€μ ν©λλ€. νλμ λ¨μ μ μ΄λ‘ μΈν΄ VPN ν΄λΌμ΄μΈνΈμ ν λΉλ ν΄λΌμ΄μΈνΈμ DNS μ λ³΄κ° "λμΆ"λ μ μλ€λ κ²μ λλ€.
DNS λμΆ λ¬Έμ λ₯Ό μννκΈ° μν΄ LAN νμ΄μ§μμ μ¬μ© κ°λ₯ν DNSFilter κΈ°λ₯μ μ¬μ©νμ¬ κ° LAN ν΄λΌμ΄μΈνΈμ λν μ¬μ©μ μ μ DNSλ₯Ό ꡬμ±ν μ μμ΅λλ€. VPNμ μ¬μ©νλλ‘ ν λΉλ LAN ν΄λΌμ΄μΈνΈλ VPN μλ² μλν¬μΈνΈμμ DNSλ₯Ό λ°κ³ WAN μΈν°νμ΄μ€λ₯Ό μ¬μ©νλλ‘ ν λΉλ LAN ν΄λΌμ΄μΈνΈλ WAN μΈν°νμ΄μ€μ λμΌν μ§μμμ DNSλ₯Ό λ°μ΅λλ€.
νΉμ ν΄λΌμ΄μΈνΈμ IPμ λν΄ μ¬λ¬ κ·μΉμ΄ μλ κ²½μ° (μλ₯Ό λ€μ΄ ν΄λΉ νΈλν½μ΄ λͺ¨λ VPNμ ν΅ν΄ μ λ¬λμ΄μΌ νλ€λ κ·μΉκ³Ό νΉμ λμ IPμ λν μμΈ κ·μΉμ΄ μλ κ²½μ°), ν΄λΉ ν΄λΌμ΄μΈνΈμ λͺ¨λ μ΄λ¦ ν΄κ²°μ μ¬μ ν VPN μλ²μμ μ§μ ν DNSλ₯Ό ν΅ν΄ μ΄λ£¨μ΄μ§λλ€. μ΄κ²μ λΌμ°ν°κ° DNS μΏΌλ¦¬κ° νΉμ λμκ³Ό κ΄λ ¨μ΄ μλμ§λ₯Ό μ μ μκΈ° λλ¬Έμ λλ€. λ°λΌμ κ°μ₯ μμ ν λμμ΄ μ¬μ©λλ©° ν΄λΉ ν΄λΌμ΄μΈνΈμ μν λͺ¨λ 쿼리λ VPN μλ²μ DNSλ₯Ό μ¬μ©ν©λλ€.
κΈ°ν μ μ± λΌμ°ν μ루μ
- μΉ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό ν΅ν΄ ν¬νΈλ₯Ό κΈ°λ°μΌλ‘ μ μ± μ ꡬμ±ν μ μμ΅λλ€. μ€μ§ IP μ£Όμ(λλ νμλ€νΈμν¬)λ₯Ό κΈ°λ°μΌλ‘ ν μ μμ΅λλ€. κ·μΉμ λ λ§μ μ μ°μ±μ΄ νμν κ²½μ°, ν¬νΈ λΌμ°ν μ μν μ΄ λ°©λ²μ μ°Έμ‘°ν μ μμ΅λλ€.
- x3mRouting ~ Asuswrt-Merlin νμ¨μ΄μ© μ νμ λΌμ°ν μ루μ μ μ νμ λΌμ°ν μ μν IPSET κΈ°μ μ νμ©νλ©° LAN ν΄λΌμ΄μΈνΈ, OpenVPN ν΄λΌμ΄μΈνΈ λ° OpenVPN μλ²μ λν μΆκ°μ μΈ μ νμ λΌμ°ν κΈ°λ₯μ ν¬ν¨νκ³ μμ΅λλ€.
- YazFiλ κ²μ€νΈ WiFi λ€νΈμν¬λ₯Ό VPN ν΄λΌμ΄μΈνΈλ‘ λΌμ°ν ν μ μλ κΈ°λ₯μ μ 곡ν©λλ€.
μμ
Googleμ μνλ IP μ£Όμ λΈλ‘μ μ‘μΈμ€νλ €λ λͺ¨λ ν΄λΌμ΄μΈνΈκ° VPN ν°λμ μ¬μ©νλλ‘νλ €λ©΄ λ€μκ³Ό κ°μ΄ ꡬμ±ν μ μμ΅λλ€:
RouteGoogle 0.0.0.0 74.125.0.0/16 VPN
λλ νΉμ μ»΄ν¨ν°λ₯Ό ν°λμ ν΅ν΄ λΌμ°ν νλ, ISPμ SMTP μλ²λ‘ λ³΄λΈ μμ²μ ν°λμ ν΅κ³Όνμ§ μκ²νλ €λ©΄ (κ°μ μμ ISPμ SMTP μλ²μ κ°μ IP μ£Όμλ₯Ό 10.10.10.10μΌλ‘ κ°μ ):
PC1 192.168.1.100 0.0.0.0 VPN
PC1-bypass 192.168.1.100 10.10.10.10 WAN
μ 체 LANμ VPNμ ν΅ν΄ μ λ¬νλ €λ μΌλ°μ μΈ κ΅¬μ± μ€μ , κ·Έλ¬λ λΌμ°ν° μ체λ μμΈμΈ κ²½μ°:
LAN 192.168.1.0/24 0.0.0.0 VPN
Router 192.168.1.1 0.0.0.0 WAN