Puncte:0

Cum să faceți față solicitărilor DNS atunci când utilizați mai multe conexiuni OpenVPN și rute bazate pe politici?

drapel de

Am 2 subrețele în rețeaua mea locală (192.168.4.0/24, 192.168.5.0/24), dar doar 1 server gateway (192.168.4.223) care are 2 conexiuni OpenVPN (10.100.2.6/24, 10.6/104.33.102) . Topologia este ca: introduceți descrierea imaginii aici

Vreau ca computerele din 192.168.4.0/24 (cum ar fi Computerul B) să se conecteze la Internet prin serverul OpenVPN 2 și computerele din 192.168.5.0/24 (cum ar fi Computerul A) să se conecteze la Internet prin serverul OpenVPN 1.

Pe OPENWRT router:

## Ce am facut:
vi /etc/iproute2/rt_tables 
...
110 myovp # Adăugați un tabel pentru 192.168.5.0/24
...
# Apoi adăugați reguli pentru iproute2 și iptables:
regulă ip adăugați fwmark 110 tabelul 110
regula ip se adaugă la tabelul principal 192.168.4.0/24
IP route add default prin 192.168.4.223 dev br-lan_1 tabelul 110
iptables -t mangle -A PREROUTING -i br-lan_2 -j MARK --set-mark 110

## Câteva rezultate:
# Ieșirea „regula ip”:
0: din toate căutările locale
32764: de la toate la 192.168.4.0/24 principal de căutare
32765: din toate fwmark 0x6e lookup myovp
32766: din toate căutările principale
32767: din toate căutările implicite
# Ieșirea „ip route show”:
192.168.4.0/24 dev br-lan_1 proto kernel scope link src 192.168.4.1
192.168.5.0/24 dev br-lan_2 proto kernel scope link src 192.168.5.1
# Ieșirea „ip route show table 110”:
implicit prin 192.168.4.223 dev br-lan_1
# Ieșirea lui `iptables -t mangle -L PREROUTING -v`
PRERUUTARE în lanț (politica ACCEPTĂ pachete de 871K, 177M de octeți)
 pkts bytes target prot opt ​​in out source destination
28030 1954K MARK all -- br-lan_2 oriunde oriunde MARK set 0x6e

Pe Serverul Debian Gateway:

## Ce am facut:
vi /etc/iproute2/rt_tables 
...
110 myovp # Adăugați un tabel pentru 192.168.5.0/24
...
# Apoi adăugați reguli pentru iproute2 și iptables:
regulă ip adăugați fwmark 110 tabelul 110
regula ip se adaugă la tabelul principal 192.168.4.0/24
regula ip se adaugă la tabelul principal 192.168.5.0/24
IP route add default prin 10.100.2.1 dev tun0 tabelul 110
IP route add 192.168.5.0/24 prin 192.168.4.1 dev enp4s0
iptables -t mangle -A PREROUTING -i enp4s0 -s 192.168.5.0/24 -j MARK --set-mark 110
# Apoi adăugați reguli pentru NAT și FORWARD:
iptables -A FORWARD -i enp4s0 -j ​​ACCEPT
iptables -A FORWARD -i tun1 -o enp4s0 -m stat --state RELATED,STABLISHED -j ACCEPT
iptables -A FORWARD -i enp4s0 -o tun1 -m stat --state RELATED,STABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o enp4s0 -m state --state RELATED,STABLISHED -j ACCEPT
iptables -A FORWARD -i enp4s0 -o tun0 -m stat --state RELATED,STABLISHED -j ACCEPT
iptables -A IEȘIRE -o tun1 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o tun1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -o tun0 -j MASQUERADE

## Câteva rezultate:
# Ieșirea „adresa ip”:
...
4: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state NECUNOSCUT grup implicit qlen 500
    link/niciuna
    inet 10.100.3.6/24 scope global tun1
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
    inet6 fe80::fd55:444a:552a:a454/64 scope link stabil-confidențialitate
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN grup implicit qlen 500
    link/niciuna
    inet 10.100.2.6/24 scope global tun0
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
    inet6 fe80::af61:acf1:4e9c:b1a8/64 scope link stabil-privacy
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
...
# Ieșirea „ip route show”:
0.0.0.0/1 prin 10.100.3.1 dev tun1
implicit prin 192.168.4.1 dev enp4s0 proto metric static 100
10.100.2.0/24 dev tun0 proto kernel scope link src 10.100.2.5
10.100.3.0/24 dev tun1 proto kernel scope link src 10.100.3.5
128.0.0.0/1 prin 10.100.3.1 dev tun1
192.168.4.0/24 dev enp4s0 proto kernel scope link src 192.168.4.223 metric 100
192.168.5.0/24 prin 192.168.4.1 dev enp4s0
# Ieșirea „ip route show table 110”:
implicit prin 10.100.2.1 dev tun0
# Ieșirea „regula ip”:
0: din toate căutările locale
32763: de la toate la 192.168.5.0/24 principal de căutare
32764: de la toate la 192.168.4.0/24 principal de căutare
32765: din toate căutările fwmark 0x6e 110
32766: din toate căutările principale
32767: din toate căutările implicite
# Ieșirea lui `iptables -t filter -L -v`:
INTRARE în lanț (politica ACCEPTĂ 30661 pachete, 3126K octeți)
 pkts bytes target prot opt ​​in out source destination
Lanț FORWARD (politica ACCEPT 0 pachete, 0 octeți)
 pkts bytes target prot opt ​​in out source destination
2117K 194M ACCEPT pe toate -- enp4s0 oriunde oriunde
3394K 4191M ACCEPT toate -- tun1 enp4s0 oriunde oriunde stat RELATED,STABLISHED
    0 0 ACCEPT all -- enp4s0 tun1 oriunde oriunde stat RELATED,STABLISHED
 1541 133K ACCEPT all -- tun0 enp4s0 oriunde oriunde stat RELATED,STABLISHED
    0 0 ACCEPT all -- enp4s0 tun0 oriunde oriunde stat RELATED,STABLISHED
IEȘIRE în lanț (politica ACCEPTĂ 35596 pachete, 22 M octeți)
 pkts bytes target prot opt ​​in out source destination
 1044 108K ACCEPT toate -- orice tun1 oriunde oriunde
    0 0 ACCEPT all -- orice tun0 oriunde oriunde
# Ieșirea lui `iptables -t nat -L -v`:
PRERUUTARE în lanț (politica ACCEPTĂ pachete de 208K, 34M de octeți)
 pkts bytes target prot opt ​​in out source destination
INTRARE în lanț (politica ACCEPTĂ 266 pachete, 46150 octeți)
 pkts bytes target prot opt ​​in out source destination
POSTROUTING în lanț (politica ACCEPTĂ 98 de pachete, 5876 de octeți)
 pkts bytes target prot opt ​​in out source destination
27638 2036K MASQUERADE toate -- orice tun1 192.168.4.0/24 oriunde
  347 19186 MASQUERADE toate -- orice tun0 192.168.5.0/24 oriunde
IEȘIRE în lanț (politica ACCEPTĂ 95 de pachete, 5636 de octeți)
 pkts bytes target prot opt ​​in out source destination
# Ieșirea lui `iptables -t mangle -L PREROUTING -v`:
PRERUTARE în lanț (politica ACCEPT 0 pachete, 0 octeți)
 pkts bytes target prot opt ​​in out source destination
 2829 215K MARK all -- enp4s0 orice 192.168.5.0/24 oriunde MARK set 0x6e

Și pe ambele servere OpenVPN (sunt aproape aceleași, cu excepția adreselor IP de subrețea și a adreselor de Internet):

## Ce am facut:
# Mai întâi configurați serverul OpenVPN
# Apoi adăugați reguli pentru NAT și FORWARD:
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m stare --state RELATED,STABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m stare --state RELATED,STABLISHED -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.100.2.0/24 -o eth0 -j MASQUERADE

## Unele ieșiri
# Ieșirea „adresa ip”:
...
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN grup implicit qlen 500
    link/niciuna
    inet 10.100.2.1/24 scope global tun0
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
    inet6 fe80::c31e:ba42:4cb5:d887/64 scope link stabil-confidențialitate
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
...
# Ieșirea lui `iptables -t filter -L -v`:
INTRARE în lanț (politica ACCEPTĂ 16 M pachete, 1026 M octeți)
 pkts bytes target prot opt ​​in out source destination
Chain FORWARD (politica ACCEPT 1522K pachete, 114M bytes)
 pkts bytes target prot opt ​​in out source destination
 247M 192G ACCEPT pe toate -- tun0 oriunde oriunde
    0 0 ACCEPT all -- tun0 eth0 oriunde oriunde stat RELATED,STABLISHED
 178M 106G ACCEPT toate -- eth0 tun0 oriunde oriunde stat RELATED,STABLISHED
    0 0 ACCEPT all -- tun0 any 10.100.2.0/24 oriunde
IEȘIRE în lanț (politica ACCEPTĂ 16 M pachete, 1047 M octeți)
 pkts bytes target prot opt ​​in out source destination
55959 7717K ACCEPT toate -- orice tun0 oriunde oriunde
# Ieșirea lui `iptables -t nat -L -v`:
PRERUUTARE în lanț (politica ACCEPTĂ 27 de milioane de pachete, 1809 de milioane de octeți)
 pkts bytes target prot opt ​​in out source destination
 INTRARE în lanț (politica ACCEPTĂ 11 M pachete, 605 M octeți)
 pkts bytes target prot opt ​​in out source destination
IEȘIRE în lanț (politica ACCEPTĂ 5047 pachete, 386K octeți)
 pkts bytes target prot opt ​​in out source destination
POSTROUTING în lanț (politica ACCEPTĂ pachete de 996K, 83M octeți)
 pkts bytes target prot opt ​​in out source destination
  16M 1063M MASQUERADE toate -- orice eth0 10.100.2.0/24 oriunde

Acum, computerele din 192.168.4.0/24 (cum ar fi Computerul B) se pot conecta perfect la Internet prin serverul OpenVPN 2.

Dar în 192.168.5.0/24, computerele nu pot rezolva niciun nume de gazdă.Pe computerul A, ping 8.8.8.8 funcționează bine și tracert 8.8.8.8 arată că poate ajunge la serverul 8.8.8.8 prin serverul OpenVPN 1, dar nslookup google.com 8.8.8.8 se intoarce Interogarea a fost refuzată.

Îmi pare foarte rău pentru o postare atât de lungă, dar chiar nu știu ce să fac sau ce am ratat. Nu sunt un profesionist al lucrurilor în rețea, așa că orice sugestie și ajutor specific sunt apreciate. Mulțumiri!

Puncte:0
drapel de

Problema rezolvata.

Două reguli au fost adăugate la iptables on OPENWRT implicit din anumite motive inexplicabile:

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

chiar nu știu de ce tipul care mi-a vândut routerul le-a adăugat. :(

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.