LINUX.ORG.RU

Настроить Wireguard на OpenWRT с IPv6.

 , , , ,


0

2

Не могу понять, как правильно организовать сеть на OpenWRT, чтобы клиенты получали адреса из подсети сервера (если я правильно выразился).
Сейчас сеть сделана следующим образом - на сервере есть подсеть /64 IPv6, из которой клиенту выделена подсеть /112.
А так же 10.4.0.0/24, которая используется внутри туннеля Wireguard для IPv4, который потом SNAT-ится в белый IPv4.
Туннель между клиентом и сервером работает только по IPv6. Т.е. IPv4 организован только внутри туннеля.

А вот как настроить сеть на OpenWRT, чтобы клиент получал эту же IPv4/IPv6 подсеть и трафик заворачивался в интерфейс Wireguard на OpenWRT, я понять не могу пока что.
Схема по-идее должна выглядеть примерно так:
Server eno1 < Encrypted IPv6 > OpenWRT wan < Encrypted IPv6 > OpenWRT wg0 < Plain IPv4 / IPv6 > OpenWRT lan < Plain IPv4 / IPv6 > Client enp60s0
Верна ли такая схема организации сети?
И нужно ли настраивать на роутере VLAN-ы, если не планируется никакого разграничения сети?
Ведь если я правильно понял, то VLAN-ы нужны только для отделения каких-то частей сети друг от друга.
А у меня к роутеру подключены по LAN-у только 2 ноутбука и еще 2-3 девайса по Wi-Fi.
В целом может понимание и пришло бы, но не понятно, нужны ли VLAN-ы и если нужны, то как их правильно настроить.
Роутер Asus RT-N56U если нужно.


В процессе настройки столкнулся с тем, что IPv6 выданный провайдером почему-то присваивается LAN-у (br-lan интерфейс), а не WAN-у (pppoe-wan).
С чем это может быть связано и как повесить этот адрес на pppoe-wan, а не br-lan?

root@OpenWrt:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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 fq_codel state UP qlen 1000
    link/ether 10:c3:xx:xx:4d:05 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::12c3:xx:xx:4d05/64 scope link 
       valid_lft forever preferred_lft forever

3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 10:c3:xx:xx:4d:04 brd ff:ff:ff:ff:ff:ff

4: wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 10:c3:xx:xx:4d:05 brd ff:ff:ff:ff:ff:ff

5: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 12:c3:xx:xx:4d:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 2a02:2698:xx:xx::1/64 scope global dynamic 
       valid_lft 86179sec preferred_lft 3379sec
    inet6 fd87:5c95:6ef9::1/60 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::10c3:xx:xx:4d05/64 scope link 
       valid_lft forever preferred_lft forever

6: eth0.1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 12:c3:xx:xx:4d:05 brd ff:ff:ff:ff:ff:ff

7: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 10:c3:xx:xx:4d:04 brd ff:ff:ff:ff:ff:ff
    inet6 fd87:5c95:6ef9:10::1/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::12c3:xx:xx:4d04/64 scope link 
       valid_lft forever preferred_lft forever

10: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN qlen 3
    link/ppp 
    inet 176.213.x.x peer 10.77.x.x/32 scope global pppoe-wan
       valid_lft forever preferred_lft forever
    inet6 fe80::6c76:xx:xx:d869/10 scope link 
       valid_lft forever preferred_lft forever
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd87:5c95:6ef9::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device 'lan_dev'
        option name 'eth0.1'
        option macaddr '12:c3:7b:43:4d:05'

config interface 'wan'
        option ifname 'eth0.2'
        option proto 'pppoe'
        option username 'XXXX'
        option password 'XXXX'
        option defaultroute '0'
        option ipv6 'auto'

config device 'wan_dev'
        option name 'eth0.2'
        option macaddr '10:c3:7b:43:4d:04'

config interface 'wan6'
        option ifname 'eth0.2'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'
        option max_length '3'
        option enable_vlan4k '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 3 8t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '4 8t'

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

А зачем тебе IPv6 на WAN? Там и link-local адреса достаточно. /64 это стандартная маска для случаев автонастройки клиентами, иначе никак. Тебе нужно у провайдера брать подсеть /48 или /56 для такого.

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

У меня сейчас между ноутом и сервером туннель работает только по IPv6.
Соответственно думал на роутере на внешний интерфейс (WAN) повесить IPv6 адрес провайдера, а на LAN закрепить подсеть с сервера.
Т.е. выдавать клиентам адреса из подсети сервера, а не провайдера.
И указать, что весь трафик VPN роутить в сеть через IPv6 адрес на WAN интерфейсе.
Если я конечно ничего не напутал.
IPv6 у провайдера к сожалению не статика, но извне доступны эти адреса.

Sorcus ()