1

(4 odpowiedzi, napisanych Oprogramowanie / Software)

Coś mi nie działa twoja konfiguracja.

Ale udało mi się dojść do alternatywnego rozwiązania:

rule_name=$(uci add network interface) 
uci rename network.$rule_name='vpn'
uci set network.@interface[-1].device='br-vpn'
uci set network.@interface[-1].proto='static'
uci set network.@interface[-1].ipaddr='192.168.33.4'
uci set network.@interface[-1].netmask='255.255.255.0'
uci set network.@interface[-1].gateway='192.168.33.1'

uci add network device
uci set network.@device[-1].name='br-vpn'
uci set network.@device[-1].type='bridge'
uci add_list network.@device[-1].ports='eth0'

uci set network.wg0=interface
uci set network.wg0.proto='wireguard'
uci set network.wg0.private_key='xxx='
uci set network.wg0.dns='xxx'
uci add_list network.wg0.addresses='10.14.0.2/16'

uci add network wireguard_wg0
uci set network.@wireguard_wg0[-1].public_key='xxx='
uci set network.@wireguard_wg0[-1].route_allowed_ips='0'
uci add_list network.@wireguard_wg0[-1].allowed_ips='0.0.0.0/0'
uci set network.@wireguard_wg0[-1].endpoint_host='x.x.x.x'
uci set network.@wireguard_wg0[-1].endpoint_port='51820'
uci set network.@wireguard_wg0[-1].persistent_keepalive='25'
uci set network.@wireguard_wg0[-1].description='xxx'

uci add network rule
uci set network.@rule[-1].src='192.168.33.0/24'
uci set network.@rule[-1].lookup='allwg'

uci add network route
uci set network.@route[-1].target='0.0.0.0'
uci set network.@route[-1].netmask='0.0.0.0'
uci set network.@route[-1].table='allwg'
uci set network.@route[-1].interface='wg0'

uci add network route
uci set network.@route[-1].target='x.x.x.x' # taki jak endpoint_host, bez tego działa dokładnie co drugi ping
uci set network.@route[-1].netmask='255.255.255.255'
uci set network.@route[-1].gateway='192.168.33.1'
uci set network.@route[-1].table='allwg'
uci set network.@route[-1].interface='vpn'

uci add firewall zone
uci set firewall.@zone[-1].name='wg0'
uci set firewall.@zone[-1].network='wg0'
uci set firewall.@zone[-1].input='REJECT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='ACCEPT'
uci set firewall.@zone[-1].masq='1'
uci set firewall.@zone[-1].mtu_fix='1'

uci add firewall zone
uci set firewall.@zone[-1].name='vpn'
uci set firewall.@zone[-1].network='vpn'
uci set firewall.@zone[-1].input='ACCEPT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='ACCEPT'

uci add firewall forwarding
uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].dest='wg0'

uci add firewall forwarding
uci set firewall.@forwarding[-1].src='vpn'
uci set firewall.@forwarding[-1].dest='wg0'

uci set dhcp.lan.ignore=1
uci add dhcp dhcp
uci set dhcp.@dhcp[-1].interface='vpn'
uci set dhcp.@dhcp[-1].ignore='1'

echo '100 allwg' >> /etc/iproute2/rt_tables

echo 'ip route add 192.168.33.0/24 dev br-vpn scope link src 192.168.33.4 table allwg' > /etc/rc.local 
echo 'exit 0' >> /etc/rc.local

Niestety reguły z rc.local nie potrafię zapisać w configu - trudno, będę z tym żyć.

2

(4 odpowiedzi, napisanych Oprogramowanie / Software)

Jest:
Ruch z apu2 i klientów podłączonych do drugiego wifi idzie przez VPNa

Chcę:
Ruch z klientów podłączonych do drugiego wifi idzie przez VPNa

Router + AP to Synology RT6600ax
Router ma dwie sieci LAN: main (192.168.32.1/24) i vpn (192.168.33.1/24)
Do każdej sieci jest osobne WiFi.

Do tego jest apu2 z OpenWrt podłączony dwoma kablami:
- eth0 do sieci vpn (192.168.33.4/24)
- eth1 do sieci main (192.168.32.4/24)

apu2 jest klientem vpn (Wireguard) i chciałbym aby przez drugą sieć wifi ruch trafiał w tego VPNa.

W tym celu na Synology ustawiłem w ustawieniach drugiej sieci LAN bramę 192.168.33.4/24.
Na OpenWrt mam tak:

config interface 'lan'
        option device 'br-lan'
        option proto 'dhcp'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth1'
        list ports 'eth2'

config interface 'vpn'
        option device 'br-vpn'
        option proto 'static'
        option ipaddr '192.168.33.4'
        option netmask '255.255.255.0'
        option gateway '192.168.33.1'

config device
        option name 'br-vpn'
        option type 'bridge'
        list ports 'eth0'

config interface 'wg0'
        option proto 'wireguard'
        option private_key 'xxx='
        option dns 'xxxxx'
        list addresses '10.14.0.2/16'

config wireguard_wg0
        option public_key 'xxx='
        option route_allowed_ips '1'

Łącząc się przez drugie WiFi ruch idzie przez VPNa.

Ale chciałbym aby ruch z samego routera lub ostatniego portu lan apu2 nie wpadał w niego, a tak dzieje się.
I na tym niestety poległem.

Po pierwsze zmieniam route_allowed_ips na 0 w konfiguracji wireguarda aby ruch domyślnie nie wpadał w tunel.

Najbliżej sukcesu byłem wzorując się na https://forum.openwrt.org/t/source-ip-r … l/144790/3 uwzględniając uwagę dwa posty niżej.

Na kliencie przez wifi wygląda to tak:

64 bytes from 8.8.8.8: icmp_seq=89 ttl=117 time=6.415 ms //pierwsza sieć wifi
64 bytes from 8.8.8.8: icmp_seq=90 ttl=117 time=6.254 ms
64 bytes from 8.8.8.8: icmp_seq=91 ttl=117 time=6.510 ms
64 bytes from 8.8.8.8: icmp_seq=92 ttl=117 time=6.392 ms
64 bytes from 8.8.8.8: icmp_seq=93 ttl=117 time=6.415 ms
64 bytes from 8.8.8.8: icmp_seq=94 ttl=117 time=6.476 ms
64 bytes from 8.8.8.8: icmp_seq=95 ttl=117 time=6.578 ms
64 bytes from 8.8.8.8: icmp_seq=96 ttl=117 time=6.562 ms
64 bytes from 8.8.8.8: icmp_seq=97 ttl=117 time=6.513 ms
64 bytes from 8.8.8.8: icmp_seq=98 ttl=117 time=6.334 ms
64 bytes from 8.8.8.8: icmp_seq=99 ttl=117 time=6.395 ms
64 bytes from 8.8.8.8: icmp_seq=100 ttl=117 time=6.438 ms
64 bytes from 8.8.8.8: icmp_seq=101 ttl=109 time=122.651 ms //przełączenie na drugą
64 bytes from 8.8.8.8: icmp_seq=102 ttl=109 time=124.626 ms
64 bytes from 8.8.8.8: icmp_seq=103 ttl=109 time=126.469 ms
64 bytes from 8.8.8.8: icmp_seq=104 ttl=109 time=122.758 ms
Request timeout for icmp_seq 105 //i po chwili padło
Request timeout for icmp_seq 106
Request timeout for icmp_seq 107
Request timeout for icmp_seq 108
Request timeout for icmp_seq 109

Na apu2:

# ping -I 192.168.33.4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.33.4: 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=110 time=126.613 ms
64 bytes from 8.8.8.8: seq=2 ttl=110 time=117.808 ms
64 bytes from 8.8.8.8: seq=4 ttl=110 time=126.526 ms
64 bytes from 8.8.8.8: seq=6 ttl=110 time=117.682 ms
64 bytes from 8.8.8.8: seq=8 ttl=110 time=117.782 ms
64 bytes from 8.8.8.8: seq=10 ttl=110 time=117.795 ms
64 bytes from 8.8.8.8: seq=12 ttl=110 time=117.634 ms
64 bytes from 8.8.8.8: seq=14 ttl=110 time=117.596 ms
64 bytes from 8.8.8.8: seq=16 ttl=110 time=117.505 ms
64 bytes from 8.8.8.8: seq=18 ttl=110 time=117.739 ms

Co drugi ping przechodzi.

Obserwacje są powtarzalne.
Próbowałem kombinować z mwan3 (https://www.leowkahman.com/2016/06/19/c … stname-ip/) i pbr, ale tam w ogóle nie udało mi się uzyskać pingu przez sieć vpn.
Podejrzewam że moim problemem jest to że nie mam wanu na openwrt, tylko dwa lany.
Czy da się coś zrobić bez zmiany tego?

4

(28 odpowiedzi, napisanych Sprzęt / Hardware)

Z mt7615 który chyba jest słabo wspierany w OpenWRT.

5

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Poprawiłem.

Chyba znalazłem powód: /etc/init.d/boot wywołuje /sbin/kmodloader - pewnie dopiero po tym działa i2c i rtc.

6

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Podsumowanie:

Uruchomienie i2c w mt300n v2:
w pliku dts (target/linux/ramips/dts/GL-MT300N-V2.dts)
dodać

&i2c {                                      
       status = "okay";
}                                   

Ustawienie GPIO45 i 46 jako GPIO (niepotrzebne do i2c):

Dopisać uart1 w:

ralink,group = "wdt", "gpio", "wled_an", "p0led_an", "p1led_an", "i2s", "uart1";
ralink,function = "gpio";

w tym samym pliku
oraz usunąć

&uart1 {                                      
       status = "okay";
} 

Jeżeli chcemy dopisać rtc do DTS to:

&i2c {
        status = "okay";

       ds1307@68 {
               compatible = "dallas,ds1307"; 
               reg = <0x68>;
       };
 }; 

7

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Przy dodanym RTC do DTSa i dopisanym sleep 20 w /etc/init.d/sysfixtime wpis w dmesgu powstaje 20  sekund później.
Zakładam, że coś w pliku /etc/init.d/boot powoduje wykrycie i2c.

Na razie zostawiam temat i zostawiam wykrywanie RTC i ustawianie czasu w /etc/init.d/boot.

8

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Udało mi się dodać, ale dosyć późno jest tworzony rtc i sysfixtime nie ustawia czasu na podstawie RTC sad

root@mt300n:~# dmesg | grep rtc
[    0.554196] hctosys: unable to open rtc device (rtc0)
[   13.740236] rtc-ds1307 0-0068: registered as rtc0
root@mt300n:~#

9

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Chyba nikt się nie mylił.
Jak nie ma internetu to rc.local jest wołanie po ok. 3 minutach. Jak sprawdzałem za pierwszym razem to było przed wywołaniem, teraz po.

Znalazłem lepsze miejsce: /etc/init.d/boot
Wtedy zegar jest ustawiany wcześnie.

10

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Teraz rzeczywiście zadziałało.
Jestem przekonany, że próbowałem to. Pewnie źle spojrzałem na coś.

11

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Jednak mam problem.

Nie potrafię ustawić czasu podczas startu systemu.

Dopisałem

(echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-0/new_device) > /tmp/rtclog 2>&1
i2cdetect -y 0 >> /tmp/rtclog 2>&1

do /etc/init.d/sysfixtime na początku boot().

Zawartość /tmp/rtclog:

/etc/rc.common: line 151: can't create /sys/bus/i2c/devices/i2c-0/new_device: nonexistent directory
i2cdetect: can't open '/dev/i2c/0': No such file or directory

Z tego co rozumiem to nie mam jeszcze magistrali i2c.

Uruchamiając normalnie z konsoli działa:

/home/tymmej # hwclock -r
hwclock: can't open '/dev/misc/rtc': No such file or directory
/home/tymmej # echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-0/new_device
/home/tymmej # hwclock -r
Wed Oct  3 20:53:36 2018  0.000000 seconds

Dopisanie do /etc/rc.local nie pomaga, dodanie sleep 5 na początku rc.local również nie.
Dowiązanie 59-i2c-mt7628 do /etc/modules-boot.d/ z /etc/modules.d też nie pomaga.

Czy można coś z tym zrobić?

12

(20 odpowiedzi, napisanych Sprzęt / Hardware)

1wire na pinie 45 również udało się uruchomić, tak jak opisałem.

13

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Odnośnie i2c:
zrobiłem jak napisałem i działa.

Czy konieczne jest robienie
echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-0/new_device
aby i2cdetect pokazywało urządzenie?

Bez tego nie pokazuje, po tym wyświetla się jako UU w i2cdetect.
hwclock działa.

14

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Po usunięciu modułów, weksportowaniu, zmiany kierunku niezależnie od value jest stan wysoki.

Jest jeszcze coś takiego jak kmod-i2c-mt7628.

W target/linux/ramips/dts/mt7628an.dtsi jest
297
298                 i2c_pins: i2c {
299                         i2c {
300                                 ralink,group = "i2c";
301                                 ralink,function = "i2c";
302                         };
303                 };

Mogę dodać (tak jak w https://forum.gl-inet.com/t/mt300n-how- … rt/3154/2)
&i2c {
    status = "okay";
};
do target/linux/ramips/dts/GL-MT300N-V2.dts i korzystać z tego sterownika zamiast kmod-i2c-gpio-custom?

Jak uzyskać dostęp do GPIO 45 i 46? (Chciałbym jeszcze jeden pin dla 1wire)
Usunąć
138 &uart1 {
139         status = "okay";
140 };
z target/linux/ramips/dts/GL-MT300N-V2.dts
i dodać
uart1
do
ralink,group = "wdt", "gpio", "wled_an", "p0led_an", "p1led_an", "i2s";
ralink,function = "gpio";
w tym samym pliku?

15

(20 odpowiedzi, napisanych Sprzęt / Hardware)

Próbuję uruchomić i2c w routerze MT300N V2.

https://docs.gl-inet.com/en/2/hardware/mt300n-v2/

Wg schematu wolne są GPIO 4 i 5.

Skompilowałem wersję 18.06.1 z wbudowanym kmod-i2c-core i kmod-i2c-gpio-custom.
Dodałem plik /etc/modules.d/i2c-gpio-custom, w środku i2c-gpio-custom bus0=0,5,4

W urządzeniu jest /dev/i2c-0
W dmesgu jest wpis i2c-gpio i2c-gpio.0: using pins 5(SDA) and 4 (SCL)

W /sys/kernel/debug/gpio są widoczne gpio-4 i gpio-5 jako scl i sda jako in ze stanem hi.

W /sys/bus/gpio/devices nie ma gpio4 ani gpio5.

i2cdetect działa, ale nic nie znajduje.
Podłączyłem analizator stanów logicznych pod GPIO. Podczas uruchamiania i2cdetect nic się nie dzieje na tych liniach.

Co może być nie tak, co można jeszcze sprawdzić?

https://www.sysprobs.com/how-to-enable- … mple-steps
https://answers.microsoft.com/en-us/win … 3a99f1cae6

17

(7 odpowiedzi, napisanych Oprogramowanie / Software)

Spróbuj kmod-cryptodev

18

(3 odpowiedzi, napisanych Sprzęt / Hardware)

Czy są jakieś energooszczędne modemy 3G/LTE?

Na czym mi zależy:
- nie potrzeba używać aktywnego huba USB / routera z porządnym zasilaniem na USB
- wsparcie OpenWRT

Na czym mi nie zależy:
- rekordach prędkości
- małej wielkości

19

(0 odpowiedzi, napisanych Oprogramowanie / Software)

Udało uruchomić się unbound + stubby jako serwer DNS, bez dnsmasq.

Mini how-to:

Bazowałem na:
https://forum.lede-project.org/t/adding … ound/13765
https://openwrt.org/docs/guide-user/ser … ns/unbound
https://blog.grobox.de/2018/what-is-dns … r-openwrt/

1) Instalacja unbound, unbound-anchor, stubby i getdns przez opkg:
opkg install unbound unbound-achor stubby getdns
2) Wyłączenie DNS w dnsmasq:
a) w /etc/config/dhcp w sekcji dnsmasq usunąć wszystko i dopisać port równy 0:

config dnsmasq
        option port '0'

b) jak dnsmasq nie jest serwerem DNS to klienci nie wiedzą kto jest serwerem DNS
W sekcji lan (i innych jak są) dodać:

list dhcp_option '6,192.168.1.1'

3) Wygenerowanie pliku root.key dla unbound:

unbound-anchor -a "/etc/unbound/root.key"

4) Konfiguracja unbound:
W pierwszym linku zmieniają bardzo dużo parametrów, szczególnie w serwerze. Nie rozumiem ich - nie ruszam.
a) plik /etc/unbound/unbound_ext.conf

forward-zone:
        name: "."
        forward-addr: 127.0.0.1@5354

5354 jest numerem portu na którym jest uruchomiony stubby
b) plik /etc/unbound/unbound_srv.conf

do-tcp: yes
prefetch: yes
qname-minimisation: yes
rrset-roundrobin: yes
use-caps-for-id: yes

c) plik /etc/config/unbound:
parę zmian:
i) option dhcp_link 'dnsmasq'
ii) option query_minimize '1'
iii) option validator '1'
iv) list domain_insecure 'openwrt.pool.ntp.org'
5) Konfiguracja stubby:

resolution_type: GETDNS_RESOLUTION_STUB

dns_transport_list:
  - GETDNS_TRANSPORT_TLS

dnssec_return_status: GETDNS_EXTENSION_TRUE

dnssec_trust_anchors: "/etc/unbound/root.key"

tls_authentication: GETDNS_AUTHENTICATION_REQUIRED

tls_query_padding_blocksize: 256

edns_client_subnet_private : 1

round_robin_upstreams: 1

idle_timeout: 10000

listen_addresses:
  - 127.0.0.1@5354

upstream_recursive_servers:
    - address_data: 1.1.1.1
      tls_auth_name: "cloudflare-dns.com"

Restart zmienionych usług i powinno działać.
Flaga ad wskazuje na działanie DNSSEC.

╰─ dig com. SOA +dnssec

; <<>> DiG 9.10.6 <<>> com. SOA +dnssec
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42293
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1280
;; QUESTION SECTION:
;com.                           IN      SOA

;; ANSWER SECTION:
com.                    460     IN      SOA     a.gtld-servers.net. nstld.verisign-grs.com. 1526824984 1800 900 604800 86400
com.                    460     IN      RRSIG   SOA 8 1 900 20180527140304 20180520125304 36707 com. sacN7Afl5GjCXr2p2LMNFAagM8wmdofadJboQLSSOeHnOqgQCCHBdBec AHGjIwPq3d/wORCNhQrahDMesb2Tbx7OfkLKnvA8lX722KiUmkvpbDA2 j8ipiTVzv2XqoWFgiQG5Q0T49THvbGwWYUy3HH+uDxRLAVVjKIl8mfTS zlQ=

;; Query time: 97 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sun May 20 16:10:40 CEST 2018
;; MSG SIZE  rcvd: 268

20

(2 odpowiedzi, napisanych Oprogramowanie / Software)

Dzięki wielkie.
Brakowało mi 't' przy '5': ma być option ports '5t 6t'.

PS. Jestem bardzo zadowolony z apu2 smile

21

(2 odpowiedzi, napisanych Oprogramowanie / Software)

Mam apu2 i zyxela nbg6716:

apu2 jest głównym routerem, a nbg6716 działa jako dumb ap.

Chcę zrobić sieć gościnną. Niestety nie potrafię tego zrobić.

Konfiguracja:

apu2:
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth1 eth2'
        option proto 'static'
        option ipaddr '192.168.32.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option ifname 'eth0'
        option proto 'dhcp'

config interface 'guest'
        option ifname 'eth1.10'
        option proto 'static'
        option ipaddr '192.168.33.1'
        option netmask '255.255.255.0'

Do tego wpis w firewallu i dodatkowa strefa w dhcp.

nbg6716:
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1 eth1.2'
        option proto 'dhcp'

config interface 'guest'
        option type 'bridge'
        option ifname 'eth1.10'
        option proto 'dhcp'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

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

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '5 6t'

#config switch_vlan
#        option device 'switch0'
#        option vlan '10'
#        option ports '5 6t'

Do tego wyłączony firewall oraz dhcp.

Z nbg6716 mogę pingować zarówno 192.168.32.1, jak i 192.168.33.1. Ale oba pingi idą bo interfejsie br-lan, jak zrobię ping 192.168.33.1 -I br-guest to jest cisza.
Kabel do apu2 jest wpięty w port WAN nbg6716. Jak odkomentuję ostatniego switch_vlan to urządzenie umiera i muszę znowu zakomentować w failsafe.

Podejrzewam że brakuje mi czegoś związanego z VLANami, ale nie mam pojęcia czego.

22

(4,539 odpowiedzi, napisanych Oprogramowanie / Software)

Głównie do zabicia wolnego czasu wink
Z drugiej strony nie chciałbym mieć więcej niż jednego urządzenia zajmującego się internetem więc chciałbym coś z kilkoma (2-4) portami LAN + radio dualband + USB (1-2)
Nie potrafię znaleźć platformy pomiędzy MT7621 a wspomnianym Marvell (ani cenowo, ani wydajnościowo).

23

(4,539 odpowiedzi, napisanych Oprogramowanie / Software)

Jest coś cenowo i wydajnościowo pomiędzy routerami opartymi na MT7621 a np. WRT3200ACM?

24

(4,539 odpowiedzi, napisanych Oprogramowanie / Software)

Kupiłem Zyxela z tej aukcji:

-wygląda jak nowy, wątpię aby był używany
-wszystkie ustawienia fabryczne i zgodne z naklejką
-trafiłem na wersję 256MB (chociaż na początku się zdziwiłem, bo w fabrycznym OpenWRT było widoczne tylko 32MB)

Dzięki, dokładnie o to mi chodziło.