Commit Graph

1418 Commits

Author SHA1 Message Date
Vincent Li
8f4062f4da LoxiLB UI: show loxilb server running status
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-06-15 20:52:48 +00:00
Vincent Li
280869f883 Do not attach loxilb TC to ethX devices
see [0] loxilb attach TC program to all devices
by default.

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

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-05-28 18:12:51 +00:00
Vincent Li
0c2b510130 add loxilb start/stop init script and settings
when rebuid the image, do:

rm log/configroot
rm log/initscripts

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-05-27 18:23:09 +00:00
Vincent Li
8031d30ad2 ddos init: add ratelimit 2024-04-24 00:48:04 +00:00
Vincent Li
a925c32ecb Revert "ddos.cgi add ratelimit UI"
This reverts commit e3ea91ca5898f0d32cd2733efcd3297d30ffa80e.
2024-04-24 00:48:04 +00:00
Vincent Li
6accd9056f ddos.cgi add ratelimit UI
add ratelimit UI for xdp dns and udp program

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-24 00:48:04 +00:00
Vincent Li
fcdc42ea40 ddos.cgi add DNS DDoS UI
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-18 02:29:27 +00:00
Vincent Li
0bece3c17a Workaround ddos init script to xdp skb mode
if interface does not support native mode
re-run xdp-loader with skb mode, got error

Attaching XDP program in native mode not supported - try SKB mode.
TCP Native mode not supported, try SKB
Replacing allowed ports
Added port 80
Added port 8090
 libxdp: Retried more than 11 times, giving up
Couldn't attach XDP program on iface 'lo': Device or resource busy(-16)
UDP Native mode not supported, try SKB
Replacing allowed udp ports
Added port 10408

but it looks loaded ok

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-17 00:18:34 +00:00
Vincent Li
9924b85773 ddos init script to load/unload TCP/UDP XDP prog
make ddos init script to load/unload TCP/UDP
XDP program according to TCP/UDP setting

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-17 00:18:34 +00:00
Vincent Li
9a53289a23 ddos.cgi add UDP DDoS WebUI
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-17 00:17:41 +00:00
Vincent Li
33cc594e39 mount bpffs for xdp-tools for ISO build
xdp-loader will only load the XDP program without
xdp dispatcher if bpffs is not mounted, flash image
has bpffs mounted already, add bpffs mount for ISO image

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-04-07 22:15:12 +00:00
Vincent Li
8f4b665fb3 populate ddos port map in ddos init script
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-20 17:42:31 +00:00
Vincent Li
936c1a4fa0 Add XDP program load/unload script
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-20 17:42:30 +00:00
Vincent Li
1f16691715 Add custom XDP SYNPROXY chain
XDP SYNPROXY rules needs to be first in filter table
INPUT user defined chain and raw table PREROUTING
user defined chain.

To list the custom chain evaluation order for example:

iptables -L INPUT --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    INSYNPROXY  all  --  anywhere             anywhere
2    IPSBYPASS  all  --  anywhere             anywhere             mark match 0xc0000000/0xc0000000
3    BADTCP     tcp  --  anywhere             anywhere
4    CUSTOMINPUT  all  --  anywhere             anywhere
5    HOSTILE    all  --  anywhere             anywhere
6    BLOCKLISTIN !icmp --  anywhere             anywhere
7    GUARDIAN   all  --  anywhere             anywhere
8    OVPNBLOCK  all  --  anywhere             anywhere
9    IPS_INPUT  all  --  anywhere             anywhere             mark match 0x0/0xc0000000
10   IPTVINPUT  all  --  anywhere             anywhere
11   ICMPINPUT  all  --  anywhere             anywhere
12   LOOPBACK   all  --  anywhere             anywhere
13   CAPTIVE_PORTAL  all  --  anywhere             anywhere
14   CONNTRACK  all  --  anywhere             anywhere
15   DHCPGREENINPUT  all  --  anywhere             anywhere
16   TOR_INPUT  all  --  anywhere             anywhere
17   LOCATIONBLOCK  all  --  anywhere             anywhere
18   IPSECINPUT  all  --  anywhere             anywhere
19   GUIINPUT   all  --  anywhere             anywhere
20   WIRELESSINPUT  all  --  anywhere             anywhere             ctstate NEW
21   OVPNINPUT  all  --  anywhere             anywhere
22   INPUTFW    all  --  anywhere             anywhere
23   REDINPUT   all  --  anywhere             anywhere
24   POLICYIN   all  --  anywhere             anywhere

iptables -t raw -L PREROUTING --line-numbers

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination
1    RAWSYNPROXY  all  --  anywhere             anywhere

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2024-03-15 02:56:41 +00:00
Arne Fitzenreiter
6d501c0558 cpufrequtils: hide output on disabled cores.
We disable cores if the are affected by some cpu vulnerabilities
this cores report errors if you try to change the settings.
So only print the output for core0 and hide it for all cores.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-02-18 11:41:20 +01:00
Arne Fitzenreiter
51fd73ea2b cpufrequtils: fix initskript for amd-pstate
the initskript loads a test-modul for amd-pstate (which traces on intel)
and off course reports errors if firmware settings are missing.

this also fix the error at start because also amd-pstate doesn't support
ondemand mode.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-02-17 19:57:42 +01:00
Adolf Belka
37c5b4b62e firewall: Fixes bug12981 - add if loop to log or not log dropped hostile traffic
- This v3 version now has two if loops allowing logging of incoming drop hostile or
   outgoing drop hostile or both or neither.
- Dependent on the choice in optionsfw.cgi this loop will either log or not log the
   dropped hostile traffic.

Fixes: bug12981
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-02-07 11:02:17 +00:00
Michael Tremer
500b6311b4 collectd: Do not sync
Calling a global sync operation manually is generally a bad idea as it
can block for forever. If people have storage that does not retain
anything that is being written to it, they need to fix their hardware.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-01-31 10:30:27 +00:00
Arne Fitzenreiter
9786225a9b mympd: new addon to control mpd via WebGUI
myMPD is written in C and has a nice WebGUI to play
local music and also a WebRadio browser.
This is to replace the removec client175.

After install it can reached via
https://IP_OF_THE_IPFIRE:8800

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-01-29 16:02:42 +00:00
Erik Kapfer
e5a77641f3 Firewall initscript: Restore Tor IPTable rules by manual firewall restart
If the firewall will be manually restart via '/etc/init.d/firewall restart',
the IPTable rules for the Tor relay will be deleted since 'iptables_init' only
flushes and creates inbound and unbound chains for Tor but does not restore the
ruleset from Tor initscript.

For reference and tests please see -->
https://community.ipfire.org/t/tor-stop-working-without-stop-the-process-or-give-an-error-message/10697

Signed-off-by: Erik Kapfer <erik.kapfer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-01-19 16:37:44 +00:00
Michael Tremer
b87cd867f7 network: Only try to restart collectd if it is running
This updated version of this script avoids any errors if collectd is not
running (yet) which might happen during the boot process.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-01-19 16:37:24 +00:00
Michael Tremer
f2d7d4ec16 collectd: Restart is required after reconnect
The "ping" plugin does not re-resolve the gateway IP address after
pinging it for the first time. For most people this won't be a big
problem, but if the default gateway changes, the latency graph won't
work any more.

In order to do re-resolve "gateway", the only way is to restart
collectd.

Fixes: #13522
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
2024-01-14 16:04:03 +00:00
Arne Fitzenreiter
cb58d049e0 alsa: don't report failed module loads
this will stop pakfire if the kernel was updated before the alsa update.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-12-19 11:35:53 +01:00
Michael Tremer
ece94c7edf apache2: Properly re-execute Apache on restart
Previously, we sent Apache a signal to relaunch itself which caused
Apache to kill all child processes, and re-execute them.

However, when updating glibc, any newly compiled modules could not be
loaded as Apache was running with the previous version of glibc until
the next reboot.

This change will now properly stop Apache and restart it which solves
this problem.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-11-27 11:26:00 +00:00
Jonatan Schlag
6361fa73c6 network startup: Always cleanup before red gets started
There is no sense in doing this only in /etc/init.d/network
and not in /etc/init.d/networking/red

This files should be always deleted before a startup

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-09-05 15:15:53 +00:00
Jonatan Schlag
f2e90a6e0e network scripts: remove check for AUTOCONNECT
This setting is also old (2007) and cannot be set via the webinterface
anymore. So why checking for something, which can only be true.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-09-05 15:15:53 +00:00
Jonatan Schlag
100cd24a17 network initscripts: Remove code for old zone scheme
A long time ago (2007) there were more config types possible then 1, 2, 3
and 4. As our installer currently only accepts config type out of the set
1, 2, 3 and 4 we do not need to check if our CONFIG_TYPE is in this set.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-09-05 15:15:53 +00:00
Jonatan Schlag
8ae238a588 Use bash as shebang in network initscripts
/bin/sh is a symlink to /bin/bash on ipfire systems. Using /bin/sh in
the scripts as shebang hurts in two ways:

1. We use features which do not work with sh as shell. This is not
   really a problem but if we rely on features of a real bash we can
   state this clearly.
2. The syntay highlighting in vim does not work without a correct
   shebang. As I want and need correct syntax highlighting I propose to
   change the shebang.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-09-05 15:15:53 +00:00
Michael Tremer
d4a8484eb1 mountfs: Remove excessive sync-ing before umount
The system should perform all write operations when sync is called and
only return when the write queues are empty.

There is no additional benefit for calling sync again as the buffers
should be empty. If data is still being lost, then that is a bug in
either the storage device or driver.

As the (re-)boot process is already so slow, I would like to get rid of
any unnecessary delays.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-15 09:48:35 +00:00
Michael Tremer
21d8c56c8a mountfs: Mount ExtraHD filesystems
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-15 09:47:25 +00:00
Arne Fitzenreiter
cd78363404 Merge remote-tracking branch 'origin/master' into next
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-08-12 16:48:54 +02:00
Arne Fitzenreiter
41e3393152 initskript: smt: restore IPFire banner
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-08-12 09:58:56 +02:00
Arne Fitzenreiter
f41a54a2ea initskript: smt: disable smt on vulnerable cpu
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-08-12 09:11:52 +02:00
Adolf Belka
0803c50f76 red: Fixes bug#13164 adjust pppoe plugin name in red initscript
- This patch goes together with the patch for the ppp update to 2.5.0
- The rp-pppoe.so option is no longer available. There is only the pppoe.so available now

Fixes: Bug#13164
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-07 14:12:55 +00:00
Michael Tremer
91443f9234 udev: Drop hwrng rules
This is another fragment of rngd - the gift that keeps giving.

The udev rules file contains a lot of stuff for a prototype which never
went into production. So, that can be dropped.

It would have been left with one rule that starts rngd whenever a HWRNG
is being found. That is however no longer needed as rngd is being
started in the init process. We no longer need to initialize it as early
as possible to seed the kernel's PRNG.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-07-31 13:47:31 +00:00
Arne Fitzenreiter
0bb82a95dd initskripts: remove buggy remount at halt and reboot
mount -f does nothing and also the sync calls should do nothing
on a already ro mounted filesystem.

fixes: #13195

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-07-28 16:06:54 +00:00
Arne Fitzenreiter
f24ce4558a partresize: enable journal on ssd's and vm's
the flashimage is build without journal to not destroy
usb thumbdrives or sd cards. On real ssd's and virtual
machines it should enabled for higher data security.

So this patch add the journal is drive support smart.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-06-15 09:25:59 +00:00
Arne Fitzenreiter
36a19f2b39 partresize: remove buggy code
DRV is not defined so this code is useless.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-06-15 09:25:59 +00:00
Peter Müller
3486440720 Housekeeping: Only mark files as executable if they have to be
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2023-05-11 20:19:20 +00:00
Adolf Belka
0921556c85 initscripts: removal of lvmetad initscript
- With the last update of lvm2 lvmetad was removed from lvm2. I did not recognise that
   lvmetad had been setup as an automatic initscript, so it no longer works as the
   binary is no longer provided.
- This patch removes the lvmetad initscript, the reference to lvmetad in the initscript
   lfs file and the lvmetad initscript entries in the rootfile for each architecture.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2023-05-11 20:08:07 +00:00
Arne Fitzenreiter
946a27a28c initskripts: add OrangePi R1 Plus LTS
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-05-02 19:33:43 +00:00
Michael Tremer
aac0baea15 firewall: Drop legacy rules for PPPoE/PPTP
These rules where created to permit any local traffic to the firewall
when using a PPP connection that utilised Ethernet as transport.

This is however nonsensical and a security issue for any other
connection methods that call the RED interface "red0" and use PPP (e.g.
QMI).

Since PPPoE packets do not flow through iptables, these rules can be
dropped safely. We do not know whether PPTP works at all these days.

Fixes: #13088 - firewall: INPUT accepts all packets when using QMI for dial-in
Tested-by: Stefan Schantl <stefan.schantl@ipfire.org>
Tested-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-04-24 18:44:39 +00:00
Adolf Belka
f4b849cb3f rng-tools: Move from core package to addon - fixes bug 12900
- This patch is to move the rng-tools package from a core package to an addon. With the
   kernel changes from 5.6 rngd is no longer needed to create the required kernel entropy.
- The results from HRNG's via rngd are used with an XOR after the entropy is
   collected by the kernel. So the HWRNG output is used to dilute the kernel random number
   data, which is already merged from several sources.
- Based on the above and @Paul's request in the bug report to have rng-tools kept as an
   addon this patch set is submitted for consideration to keep rng-tools but as an addon.
- move rng-tools rootfile from common to packages
- Modify rng-tools lfs from core package to addon package
- Create rng-tools pak to install and uninstall - creating rc.d links for start & stop.
- Move rngd initscript from system to packages directory.
- Installed into my vm testbed and confirmed that it works. No rngd daemon installed
   from iso install. After addon install rngd is present and running. Added various files
   to be able to test the services wui page. rngd shows up and can be turned off and on

Fixes: Bug#12900
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
2023-03-04 13:55:31 +00:00
Michael Tremer
763686527e Merge branch 'master' into next 2023-02-21 10:15:04 +00:00
Stefan Schantl
caef75c529 QMI: Disable raw_ip mode before assigning the new MAC.
To assign a MAC address, the device must not be in
the raw_ip mode.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-02-20 12:29:21 +00:00
Michael Tremer
39f94ee8eb Drop support for armv6l (and armv7hl)
This removes support for building IPFire for 32 bit ARM architectures.

This has been decided in August 2022 with six months notice as there are
not very many users and hardware is generally not available any more.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-02-10 09:26:37 +00:00
Stefan Schantl
883ec31e3c QMI: Update red/iface file when using QMI.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2022-12-17 17:25:35 +00:00
Michael Tremer
b1ff8adbf0 network: Silence any output during the QMI setup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
580c249a5b network: Assign "static" MAC addresses to QMI interfaces
This is really badly hacky, but I do not know a better way to solve this
with our existing "setup" program which would be a nightmare to extend.

So we are using the device number to generate a static MAC address which
can then be used as usual. I doubt many people will have more than one
device.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
8d09028b69 network: Force dhcpcd to ask for an IP address
So since all this static nonsense wasn't feeling right, I opened a
ticket upstream and got a lead how to actually get some proper DHCP
working.

  https://github.com/NetworkConfiguration/dhcpcd/issues/129

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00