Skip to content

RockPro64 - Firewall mit zwei LAN Schnittstellen!

Verschoben ROCKPro64
  • Ich benutze ja schon länger für verschiedene Einsatzzwecke USB3-to-LAN-Schnittstellen. Einen dieser Adapter, habe ich schon jahrelang an meiner IPFire (IntelNUC).

    Nun wollte ich mal versuchen, wie das so aussieht am ROCKPro64. Wird sie erkannt, läuft sie, was für Probleme tauchen auf usw. Ich habe mich so ziemlich an folgenden Beitrag gehalten https://forum.frank-mankel.org/topic/120/ubuntu-bionic-ip-adresse-ändern

    Also, was haben wir vor? Zwei Schnittstellen, eth0 holt sich per DHCP die Informationen aus meinem LAN. Die Schnittstelle enx000acd26e2c8 bildet ein LAN, das ganze soll durch iptables geschützt sein. Kein Zugriff von außen!

    Hardware

    • ROCKPro64 v2.1 2GB RAM
    • USB-to-LAN DeLock 62121

    Software

    rock64@rockpro64v2_1:/etc$ uname -a
    Linux rockpro64v2_1 4.4.132-1077-rockchip-ayufan-gbaf35a9343cb #1 SMP Mon Jul 30 14:06:57 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Schnittstellen

    eth0

    • DHCP
    • 192.168.3.x

    enx000acd26e2c8

    • 192.168.0.0/24

    Ähm, kleine Anmerkung: Geht das nicht einheitlich, also eth0,eth1 usw. Ich glaube das ist veraltet, das neue ist dann dieses enx000acd26e2c8. Also, einheitlich wäre mir lieber!?!

    Hier die Lösung.

    Konfiguration netplan

    /etc/netplan/eth0.yaml

    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: true
        enx000acd26e2c8:
          dhcp4: no
          addresses: [192.168.0.1/24]
    

    Netzwerk neustarten

    Direkt mit

    netplan apply      
    

    oder mit

    netplan try
    

    netplan try ermöglicht, das man eine falsche Konfiguration automatisch wieder zurücksetzen lassen kann.

    Nach dem Neustart sieht das dann so aus.

    rock64@rockpro64v2_1:~$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        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 UNKNOWN group default qlen 1000
        link/ether 1e:0e:99:52:8e:40 brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.17/24 brd 192.168.3.255 scope global dynamic eth0
           valid_lft 2224sec preferred_lft 2224sec
        inet6 fe80::1c0e:99ff:fe52:8e40/64 scope link 
           valid_lft forever preferred_lft forever
    3: enx000acd26e2c8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:0a:cd:26:e2:c8 brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.1/24 brd 192.168.0.255 scope global enx000acd26e2c8
           valid_lft forever preferred_lft forever
        inet6 fe80::20a:cdff:fe26:e2c8/64 scope link 
           valid_lft forever preferred_lft forever
    

    Konfiguration iptables

    Dazu erstellen wir ein Script /etc/firewall.sh

    #!/bin/sh
    # This is a more complex setup, for a home firewall:
    # * One interface plug to the ISP conection (eth0). Using DHCP.
    # * One interface plug to the local LAN switch (eth1). Using 192.168.0.0/24.
    # * Traffic open from the LAN to the SSH in the firewall.
    # * Traffic open and translated, from the local LAN to internet.
    # * Traffic open from internet, to a local web server.
    # * Logging of dropped traffic, using a specific ''log level'' to configure a separate file in syslog/rsyslog.
    
    PATH='/sbin'
    
    ## INIT
    
    # Flush previous rules, delete chains and reset counters
    iptables -F
    iptables -X
    iptables -Z
    iptables -t nat -F
    
    # Default policies
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP
    
    echo -n '1' > /proc/sys/net/ipv4/ip_forward
    echo -n '0' > /proc/sys/net/ipv4/conf/all/accept_source_route
    echo -n '0' > /proc/sys/net/ipv4/conf/all/accept_redirects
    echo -n '1' > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    echo -n '1' > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
    
    # Enable loopback traffic
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    
    # Enable statefull rules (after that, only need to allow NEW conections)
    iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    
    # Drop invalid state packets
    iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
    iptables -A OUTPUT -m conntrack --ctstate INVALID -j DROP
    iptables -A FORWARD -m conntrack --ctstate INVALID -j DROP
    
    ## INPUT
    
    # Incoming ssh from the LAN
    iptables -A INPUT -i enx000acd26e2c8 -s 192.168.0.0/24 \
    -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
       
    # Allow any connection from this host.
    iptables -A INPUT -i lo -j ACCEPT
       
    # Allow any connection from the local network.
    iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
      
    # Allow all broadcast traffic.
    iptables -A INPUT -m pkttype --pkt-type broadcast -j ACCEPT
       
    ## OUTPUT
      
    # Enable al outgoing traffic to internet
    iptables -A OUTPUT -o eth0 -d 192.16.3.0/0 -j ACCEPT
       
    # Enable access traffic, from the firewall to the LAN network
    iptables -A OUTPUT -o enx000acd26e2c8 -d 192.168.0.0/24 -j ACCEPT
    
    ## FORWARD
          
    # We have dynamic IP (DHCP), so we've to masquerade
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -A FORWARD -o eth0 -i enx000acd26e2c8 -s 192.168.0.0/24 \
    -m conntrack --ctstate NEW -j ACCEPT
          
    # Redirect HTTP (tcp/80) to the web server (192.168.0.2)
    #iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
    # -j DNAT --to-destination 192.168.0.2:80
    #
    #iptables -A FORWARD -i eth0 -p tcp --dport 80 \
    # -o eth1 -d 192.168.0.2 \
    # -m conntrack --ctstate NEW -j ACCEPT
          
    ## LOGGING
          
    iptables -A INPUT -j LOG --log-level 4 --log-prefix '[FW INPUT]: '
    iptables -A OUTPUT -j LOG --log-level 4 --log-prefix '[FW OUTPUT]: '
    iptables -A FORWARD -j LOG --log-level 4 --log-prefix '[FW FORWARD ]: '
    

    Das starten wir nun mal zum Testen.

    sudo chmod +x firewall.sh
    sudo ./firewall.sh
    

    Achtung! Die offene Konsole bleibt bestehen, aber einmal den ROCKPro64 neustarten und die Konsole ist weg. Dann hilft nur noch die serielle Schnittstelle, oder ein angeschlossenes Notebook am LAN. Wenn denn alles funktioniert 😉 Also Konsole nicht zumachen!!

    Nun kann man testen ob alles so funktioniert, wie es soll. Sollte dies nun alles problemlos funktionieren schreiben wir ein Script, so das das Firewall-Script automatisch beim Starten des ROCKPro64 ausgeführt wird.

    Unter /etc/rc.local folgendes Script erstellen.

    #!/bin/sh
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    set -e
    
    # Launch my netfilter rules
    if [ -e '/etc/firewall.sh' ]
    then
    /bin/sh '/etc/firewall.sh'
    fi
    
    exit 0
    

    Rechte entsprechend anpassen.

    sudo chmod +x rc.local
    

    Danach den Rechner neu starten. Macht dies bitte ganz zum Schluss, wenn alles klappt.


    Sollen die Rechner im LAN (enx000acd26e2c8) automatisch eine IP-Adresse bekommen, so brauchen wir einen DHCP-Server, der diese an die entsprechenden Teilnehmer verteilt.

    DHCP-Server

    Nach einer kurzen Testphase, habe ich begriffen, das man DNSMASQ nur mit tiefgreifenden Änderungen am Grundsystem von Ubuntu 18.04.1 benutzen kann. Da scheint es doch viele Änderungen gegeben zu haben. Da ich zu viele Änderungen am Grundsystem nicht mag, muss ich mich wohl oder übel mit den neuen Sachen vertraut machen.

    Nach Recherche im Netz habe ich den hoffentlich richtigen DHCP-Server gefunden.

    Installation

    sudo apt-get install isc-dhcp-server

    Konfiguration /etc/dhcp/dhcpd.conf

    Der DHCP-Server stellt auf der enx000acd26e2c8-Schnittstelle IP-Adressen zur Verfügung. Die 3.1 ist mein DNS-Server im lokalen Netz.(eth0)

    # Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)
    
    # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
    #DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
    #DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf
    
    # Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
    #DHCPDv4_PID=/var/run/dhcpd.pid
    #DHCPDv6_PID=/var/run/dhcpd6.pid
    
    # Additional options to start dhcpd with.
    # Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
    #OPTIONS=""
    
    # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
    # Separate multiple interfaces with spaces, e.g. "eth0 eth1".
    INTERFACESv4="enx000acd26e2c8";
    INTERFACESv6="";
    
    #authoritative;
        
    # Sample /etc/dhcpd.conf
    # (add your comments here) 
    default-lease-time 600;
    max-lease-time 7200;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.0.255;
    option routers 192.168.0.1;
    option domain-name-servers 192.168.3.1, 1.1.1.1;
    option domain-name "mydomain.example";
    
    subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.10 192.168.0.100;
    #range 192.168.1.10 192.168.1.20;
    }
    

    Ich hatte ein paar Probleme mit der Konfig, weil da ; fehlten. Mit folgendem Befehl kann man die Konfig testen.

    dhcpd -t -cf /etc/dhcp/dhcpd.conf   
    

    Starten

    sudo service isc-dhcp-server start
    

    Status

    sudo service isc-dhcp-server status
    

    Am Ende klappt alles so, wie ich es mir vorgestellt habe.

    Speedtest

    Konsole

    rock64@rockpro64v2_1:~$ iperf3 -c 192.168.3.213
    Connecting to host 192.168.3.213, port 5201
    [  4] local 192.168.3.17 port 45344 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
    [  4]   0.00-1.01   sec   108 MBytes   890 Mbits/sec    0   5.65 MBytes       
    [  4]   1.01-2.00   sec   114 MBytes   964 Mbits/sec    0   5.65 MBytes       
    [  4]   2.00-3.00   sec   112 MBytes   942 Mbits/sec    0   5.65 MBytes       
    [  4]   3.00-4.00   sec   112 MBytes   940 Mbits/sec   11   2.82 MBytes       
    [  4]   4.00-5.01   sec   112 MBytes   943 Mbits/sec    0   2.82 MBytes       
    [  4]   5.01-6.00   sec   111 MBytes   937 Mbits/sec   11   1.41 MBytes       
    [  4]   6.00-7.00   sec   112 MBytes   941 Mbits/sec   11    723 KBytes       
    [  4]   7.00-8.00   sec   112 MBytes   943 Mbits/sec   11    363 KBytes       
    [  4]   8.00-9.01   sec   112 MBytes   943 Mbits/sec    0    416 KBytes       
    [  4]   9.01-10.00  sec   111 MBytes   936 Mbits/sec   11    300 KBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.09 GBytes   938 Mbits/sec   55             sender
    [  4]   0.00-10.00  sec  1.09 GBytes   935 Mbits/sec                  receiver
    
    iperf Done.
    rock64@rockpro64v2_1:~$ iperf3 -c 192.168.3.213 -R
    Connecting to host 192.168.3.213, port 5201
    Reverse mode, remote host 192.168.3.213 is sending
    [  4] local 192.168.3.17 port 45348 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   110 MBytes   922 Mbits/sec                  
    [  4]   1.00-2.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   2.00-3.00   sec   112 MBytes   939 Mbits/sec                  
    [  4]   3.00-4.00   sec   111 MBytes   932 Mbits/sec                  
    [  4]   4.00-5.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   5.00-6.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   6.00-7.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   7.00-8.00   sec   112 MBytes   941 Mbits/sec                  
    [  4]   8.00-9.00   sec   112 MBytes   942 Mbits/sec                  
    [  4]   9.00-10.00  sec   112 MBytes   941 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec    0             sender
    [  4]   0.00-10.00  sec  1.09 GBytes   938 Mbits/sec                  receiver
    
    iperf Done.
    

    LAN Notebook

    frank@thinkpad:~$ iperf3 -c 192.168.3.213
    Connecting to host 192.168.3.213, port 5201
    [  4] local 192.168.0.10 port 38566 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
    [  4]   0.00-1.00   sec  58.5 MBytes   491 Mbits/sec   91   1.19 MBytes       
    [  4]   1.00-2.00   sec  57.9 MBytes   485 Mbits/sec    0   1.32 MBytes       
    [  4]   2.00-3.00   sec  57.7 MBytes   484 Mbits/sec    0   1.42 MBytes       
    [  4]   3.00-4.00   sec  57.8 MBytes   485 Mbits/sec    1   1.05 MBytes       
    [  4]   4.00-5.00   sec  58.0 MBytes   487 Mbits/sec    0   1.13 MBytes       
    [  4]   5.00-6.00   sec  57.9 MBytes   485 Mbits/sec    0   1.18 MBytes       
    [  4]   6.00-7.00   sec  58.0 MBytes   486 Mbits/sec    0   1.22 MBytes       
    [  4]   7.00-8.00   sec  58.0 MBytes   486 Mbits/sec    0   1.24 MBytes       
    [  4]   8.00-9.00   sec  57.9 MBytes   485 Mbits/sec    0   1.25 MBytes       
    [  4]   9.00-10.00  sec  57.8 MBytes   485 Mbits/sec    0   1.26 MBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec   579 MBytes   486 Mbits/sec   92             sender
    [  4]   0.00-10.00  sec   577 MBytes   484 Mbits/sec                  receiver
    
    iperf Done.
    frank@thinkpad:~$ iperf3 -c 192.168.3.213 -R
    Connecting to host 192.168.3.213, port 5201
    Reverse mode, remote host 192.168.3.213 is sending
    [  4] local 192.168.0.10 port 38570 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec  73.4 MBytes   615 Mbits/sec                  
    [  4]   1.00-2.00   sec  91.9 MBytes   771 Mbits/sec                  
    [  4]   2.00-3.00   sec  90.6 MBytes   760 Mbits/sec                  
    [  4]   3.00-4.00   sec  91.5 MBytes   767 Mbits/sec                  
    [  4]   4.00-5.00   sec  90.6 MBytes   760 Mbits/sec                  
    [  4]   5.00-6.00   sec  91.5 MBytes   767 Mbits/sec                  
    [  4]   6.00-7.00   sec  90.5 MBytes   759 Mbits/sec                  
    [  4]   7.00-8.00   sec  91.7 MBytes   769 Mbits/sec                  
    [  4]   8.00-9.00   sec  91.7 MBytes   769 Mbits/sec                  
    [  4]   9.00-10.00  sec  91.2 MBytes   765 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec   896 MBytes   752 Mbits/sec    0             sender
    [  4]   0.00-10.00  sec   895 MBytes   751 Mbits/sec                  receiver
    
    iperf Done.
    

    Fazit

    War mal wieder ein hartes Stück Arbeit. Und an alle Experten, die das hier lesen, wenn was falsch ist freue ich mich über konstruktive Kritik.

    Und für Einsteiger, bitte nutzt das so nicht an einer Internetleitung. Damit der Server sicher ist benötigt es noch viel mehr Arbeit. Dazu gibt es viele Hilfeseiten im Netz.

    Links

    https://linoxide.com/linux-how-to/install-configure-dhcp-ubuntu/

  • ROCKPro64 - Samsung Portable SSD T5 500GB

    Hardware
    1
    0 Stimmen
    1 Beiträge
    285 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - PCIe NVMe SSD installieren

    Hardware
    1
    0 Stimmen
    1 Beiträge
    318 Aufrufe
    Niemand hat geantwortet
  • Booten von USB3

    Verschoben ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    295 Aufrufe
    Niemand hat geantwortet
  • Ayufan Release 0.7.13 (WiFi)

    ROCKPro64
    6
    0 Stimmen
    6 Beiträge
    475 Aufrufe
    FrankMF

    Für Bluetooth scheint noch was zu fehlen

    root@rockpro64:/mnt/home/rock64# service bluetooth status ● bluetooth.service - Bluetooth service Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-04-06 17:36:54 UTC; 2min 11s ago Docs: man:bluetoothd(8) Main PID: 2421 (bluetoothd) Status: "Running" Tasks: 1 (limit: 2380) CGroup: /system.slice/bluetooth.service └─2421 /usr/lib/bluetooth/bluetoothd Apr 06 17:36:54 rockpro64 systemd[1]: Starting Bluetooth service... Apr 06 17:36:54 rockpro64 bluetoothd[2421]: Bluetooth daemon 5.48 Apr 06 17:36:54 rockpro64 systemd[1]: Started Bluetooth service. Apr 06 17:36:54 rockpro64 bluetoothd[2421]: Starting SDP server Apr 06 17:36:54 rockpro64 bluetoothd[2421]: kernel lacks bnep-protocol support Apr 06 17:36:54 rockpro64 bluetoothd[2421]: System does not support network plugin Apr 06 17:36:54 rockpro64 bluetoothd[2421]: Bluetooth management interface 1.10 initialized
  • ROCKPro64 - Armbian - NAS umgezogen

    Armbian
    2
    0 Stimmen
    2 Beiträge
    593 Aufrufe
    FrankMF

    Das NAS mit den drei 2,5 Zoll HDD Platten läuft an einem 3A Netzteil - ohne Probleme. Hat heute Nacht die Jobs einwandfrei erledigt 😉

    Link Preview Image PINE64 Community

    PINE64 is a large, vibrant and diverse community and creates software, documentation and projects.

    favicon

    (www.pine64.org)

  • Die ersten Schritte nach der Installation!

    Angeheftet ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - eMMC-Modul / SD-Karte auswählen

    Hardware
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF

    Echtes Problem gefunden.

    Wenn die eMMC-Karte verbaut ist, ich mit der SD-Karte starte (Jumper gesetzt), kann ich keinen Kernel updaten. Es ist alles ganz normal installiert, er startet aber immer den letzten vorhandenen.

    Jumper entfernt, eMMC-Modul entfernt!

    Bootvorgang mit unveränderter SD-Karte, neuer Kernel wird geladen.

    OK, das verstehe ich im Moment überhaupt nicht !?!?!?

  • Benchmark Mainline 4.17.0-rc6

    Verschoben Archiv
    4
    0 Stimmen
    4 Beiträge
    992 Aufrufe
    FrankMF
    iozone 5GT/s x2 rock64@rockpro64:/mnt$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 64 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Sat Jun 16 06:34:43 2018 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 48672 104754 115838 116803 47894 103606 102400 16 168084 276437 292660 295458 162550 273703 102400 512 566572 597648 580005 589209 534508 597007 102400 1024 585621 624443 590545 599177 569452 630098 102400 16384 504871 754710 765558 780592 777696 753426 iozone test complete. 2,5GT/s x2 rock64@rockpro64:/mnt$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 64 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Sun Jun 17 06:54:02 2018 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 49420 91310 102658 103415 47023 90099 102400 16 138141 202088 224648 225918 141642 202457 102400 512 335055 347517 375096 378596 364668 350005 102400 1024 345508 354999 378947 382733 375315 354783 102400 16384 306262 383155 424403 429423 428670 377476 iozone test complete.