Commit Graph

12408 Commits

Author SHA1 Message Date
Vincent Li
76a3e13006 tcp ddos: add XDP TCP DDoS UI
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-04-17 09:13:38 -07:00
Vincent Li
725f7278be tcp ddos: add tcpddosctrl for safe execution
add tcpddosctrl to start/stop/status XDP
TCP DDoS program from tcp-ddos.cgi safely.

permission of tcpddosctrl

chown root.nobody /usr/local/bin/tcpddosctrl
chmod u+s /usr/local/bin/tcpddosctrl

result:
-rwsr-x--- 1 root nobody 14672 Mar 19 09:58 /usr/local/bin/ddosctrl

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-04-02 14:19:28 -07:00
Vincent Li
967a0319b4 syslog: log kernel message to kern.log
note config/etc/* is copied through lfs/stage2
so changes made in config/etc/* requires to
rm stage2 build log to rebuild stage2.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-04-01 17:42:01 -07:00
Vincent Li
245634dacd initscripts: add TCP DDoS XDP program init script
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-04-01 13:38:09 -07:00
Vincent Li
6aaec8d485 xdp-tools: Add xdp-ddos XDP main program
add xdp_ddos XDP main program with bpf tail
call table and user space xdp-ddos program
to load and insert protocol DDoS program like
TCP or UDP or ICMP into bpf tail call table.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-04-01 13:38:09 -07:00
Vincent Li
88c90aadcd ddos: add ddos init script
add ddos init to load/attach XDP DDoS main
program with empty tail call table as place
holder for tcp, udp, icmp...etc XDP DDoS program

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-04-01 13:38:02 -07:00
Vincent Li
6ff3d8e48e Firewall UI: Add iptables rules for XDP SYNPROXY
Add firewall WebUI and firewall iptables rules
for XDP SYNPROXY

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-03-27 19:24:05 -07:00
Vincent Li
0f9937c78f xdp-tools: Add XDP synproxy tailcall program
LoongArch does not support bpf trampoline, so
use tail call to call XDP synproxy program

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-03-25 19:41:42 -07:00
Vincent Li
42f3680941 linux: switch CONFIG_DWMAC_LOONGSON to module
bpftool net unable to show attached tc BPF
program, switch dwmac_loongson to module to
use rmsmod dwmac_loongson; insmod dwmac_loongson
as workaround [0]

[0]:https://github.com/libbpf/bpftool/issues/185#issuecomment-2744477168

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-03-25 19:41:42 -07:00
Vincent Li
532063b124 linux: enable kernel CONFIG_BPF_JIT_ALWAYS_ON
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-03-08 18:31:57 -08:00
Vincent Li
79e0a3fcdb linux: enable bootparam softlockup/hardlockup
enable hardlockup/softlockup to dump backtrace
if kernel hit hardlockup/softlockup

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-02-16 13:51:52 -08:00
Vincent Li
04a4907087 loxicmd: add loxicmd for loongarch64
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-29 08:36:00 -08:00
Vincent Li
beb7cdabf7 loxilb: add loxilb 0.9.8 addon for loongarch64
loxilb ebpf program relies on libbpf 0.8
which does not have loongarch64 support.
backported libbpf 1.2.3 loongarch support
to libbpf 0.8

loxilb 0.9.8 now load ebpf program through
libbpf, no external ntc command required, so
remove ntc

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-28 19:09:10 -08:00
Vincent Li
c0a92ea299 packages: add loongarch64 directory
add loongarch64 directory similar to riscv
with samba. missing loongarch64 directory and
a package under it will result package build
error:

ERROR: No such file or directory: BASEDIR/README.md

fix: https://github.com/vincentmli/BPFire/issues/71

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-14 12:14:55 -08:00
Vincent Li
5cafdf74f8 packages: remove packages with package error
these packages ended up with error
tar: Exiting with failure status due to previous errors

remove them for now

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-14 10:26:38 -08:00
Vincent Li
b4ffafc531 XDP UI: add XDP DNS monitor block logging
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-11 10:19:34 -08:00
Vincent Li
ec28da3453 XDP UI: add UI for XDP TLS SNI logging
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-11 10:13:54 -08:00
Vincent Li
8c30bad8f8 xdp-tailcall: add xdp-tailcall init script
xdp-tailcall init script to start/stop XDP
tail call program DNS and TLS SNI on green0
interface

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-10 10:56:15 -08:00
Vincent Li
dec6a99c77 xdp-tools: add xdp-tailcall
Loongarch64 does not support bpf trampoline
and freplace, so we can't use libxdp to attach
multiple XDP program to same network interface.

Loongarch64 supports bpf tail call, so we can still
use xdp-loader to load XDP program, and use bpf tail
call to call each XDP program. now we can tail call
DNS and TLS SNI XDP program on green0 interface

change user space program to take bpf map path as
command line argument so X86 and Loongarch64 can share
same user space program

https://github.com/vincentmli/xdp-tools

commit d18f8a7b48094c861a8ee0d5c0d52e93a01edca4
Author: Vincent Li <vincent.mc.li@gmail.com>
Date:   Tue Jan 7 22:14:40 2025 -0800

    xdp-tools: add bpf map path as cmd line argument

    add XDP DNS and TLS SNI user space program command
    line argument for bpf map so X86 and Loongarch can
    share the same XDP user space program

commit 5d713b40dd2d0ce399f618179a2add6c07882e2a
Author: Vincent Li <vincent.mc.li@gmail.com>
Date:   Mon Jan 6 21:09:25 2025 -0800

    xdp-tailcall: add DNS XDP program

    add DNS XDP program as tail called program

commit ad2a4e600140f8bf7a577470566efcdf11f6e214
Author: Vincent Li <vincent.mc.li@gmail.com>
Date:   Mon Jan 6 20:36:43 2025 -0800

    xdp-tailcall: add XDP tailcall

    Loongarch64 does not support bpf trampoline and
    freplace, so use tail call to call XDP program.

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-07 15:41:25 -08:00
Vincent Li
61f117be83 linux: set CONFIG_ARCH_STRICT_ALIGN=n
set CONFIG_ARCH_STRICT_ALIGN=n to enable
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS. this
allows loading BPF program with unaligned memory
access generated by clang, see [0].

this change might cause BPF program fail to load
in loongarch CPU models that require strict aligned
memory access.

[0]: https://github.com/vincentmli/BPFire/issues/69

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-01-02 10:04:17 -08:00
Vincent Li
304abcd541 tcpdump: move tcpdump strace to core package
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-25 11:46:30 -08:00
Vincent Li
cfefb2a884 xdp-tools: add xdp-tools
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-22 11:28:31 -08:00
Vincent Li
d88bdd74b3 perf: add linux perf tool
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-21 18:00:47 -08:00
Vincent Li
51ff36eb32 bpftool: add bpftool
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-21 17:57:09 -08:00
Vincent Li
708556b443 libbpf: add libbpf
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-21 17:56:33 -08:00
Vincent Li
379faf9f47 suricata: enable compile and install suricata
add rust back and enable compile and install suricata

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-21 15:50:47 -08:00
Vincent Li
2e5f7966ac yt6801: add yt6801 driver for loongson NUC
yt6801 ethernet driver is out of kernel tree
add lfs/yt6801 to build yt6801 driver

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-20 14:05:08 -08:00
Vincent Li
e3dff6fb65 kernel: enable BPF/BTF config
rebase the kernel config from fedora loongarch kernel
6.12, and enable kernel BTF/BPF feature config

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-20 09:07:23 -08:00
Vincent Li
342323fa0c initscripts: stop fireinfo startup during boot
fireinfo startup script requires user intervention
due to python error, remove it for now

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-19 12:42:27 -08:00
Vincent Li
23ae73dde4 loongarch64: major changes for flash image and iso
Initial list of changes required to build iso
and flash image successfully:

1 softwares require config.guess and config.stub
  update with loongarch support

2 no rust build and no suricata which depends on rust

3 comment out python 3.10 lib-dynload and config-3.10-xxxMACHINExxx-linux-gnu

4 lfs/cdrom lfs/Config loongarch seems requiring capital EFI boot image name
  to boot properly

5 comment out a few softwares that are not needed for now

iso can be installed to loongarch PC hard drive, but
fail to boot.

flash image can be dd to USB drive, then boot loongarch
PC from USB drive, then dd from USB drive to loongarch
PC hard drive

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-12-19 11:42:59 -08:00
Michael Tremer
804ac341a1 core190: Load SSH RSA key on legacy systems
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-12-13 14:37:35 +00:00
Michael Tremer
0712a67744 OpenSSH: No longer try to load the RSA key
This key has been removed on new installations.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-12-13 14:37:35 +00:00
Stefan Schantl
955f8b1457 backup: Add /etc/ssh/sshd_config.d
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-12-13 14:36:51 +00:00
Stefan Schantl
1a4d5cfd92 openssh: Introduce include directory for additional sshd config files
This patch adds the prosibility to place additional *.config files in /etc/ssh/sshd_config.d/
which will be included and loaded during the daemon startup process.

Because this files will not be overwritten by any update, they can be used to place custom
or other persistent settings.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-12-13 14:36:51 +00:00
Arne Fitzenreiter
1e2abd66fb linux-firmware: ship needed config txt files.
these files are parsed by the kernel at firmware load and are needed!
don't remove it again.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-26 12:02:50 +01:00
Arne Fitzenreiter
58b611a6ab kernel: update to 6.6.63
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-25 18:32:27 +01:00
Arne Fitzenreiter
5380ebc7c3 kernel: rootfile update aarch64
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-20 15:51:39 +01:00
Arne Fitzenreiter
adb153f64f miniupnpc: change to addon pak
transmission need the lib at runtime.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-19 20:32:30 +01:00
Arne Fitzenreiter
a6fac033ba kernel: update to 6.6.62
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-19 19:19:28 +01:00
Arne Fitzenreiter
28636c46cb collectd: fix errormessage on fresh installations
the /etc/collectd.d/ folder must have at least one file in it
so this add an file with a comment that custom configs should placed
there.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-09 09:46:53 +01:00
Arne Fitzenreiter
ac7c2b8270 kernel: update to 6.6.60
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-09 09:46:24 +01:00
Arne Fitzenreiter
3cf9dba6b4 network-functions: fix add newline in $wireless_status
with the other syntax perl suggest this change.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 17:48:17 +01:00
Arne Fitzenreiter
6ccbd48aa9 core190: ship intel-microcode
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 14:34:35 +01:00
Arne Fitzenreiter
57853da08b core190: ship bind
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 09:19:23 +01:00
Matthias Fischer
ce45a76778 bind: Update to 9.20.3
For details see:
https://downloads.isc.org/isc/bind9/9.20.3/doc/arm/html/notes.html#notes-for-bind-9-20-3

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 09:17:29 +01:00
Matthias Fischer
07abe4e2f6 unbound: Update to 1.22.0
For details see:
https://nlnetlabs.nl/projects/unbound/download/#unbound-1-22-0

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 09:15:06 +01:00
Arne Fitzenreiter
3a92419680 core190: ship unbound-dhcp-leases-bridge
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 09:13:56 +01:00
Michael Tremer
e595fa1176 unbound-dhcp-leases-bridge: Fix expiry check on leases
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 09:12:30 +01:00
Michael Tremer
131bcfa999 unbound-dhcp-leases-bridge: Don't overwrite static leases
When we import all static leases, their remark will be used as hostname
(because WTF?) and might be overwritten if the device is not sending any
or even the same hostname.

This patch avoids that static leases will be modified.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 09:12:17 +01:00
Michael Tremer
a81eefa265 unbound-dhcp-leases-bridge: Fix typo
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 09:11:55 +01:00