Commit Graph

82 Commits

Author SHA1 Message Date
Vincent Li
5b18e6c763 wireguard: Select the correct source IP address for N2N peers
commit 76ea485d9edb781328e307c68b1f878d933408e5
Author: Michael Tremer <michael.tremer@ipfire.org>
Date:   Fri Sep 27 17:39:22 2024 +0200

    wireguard: Select the correct source IP address for N2N peers

    This is so that the firewall chooses the correct IP address when trying
    to establish connections to the remote networks.

    Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-06-25 17:09:00 -07:00
Arne Fitzenreiter
e8b7c0bc3f networking/red: remove leftover debugging messages.
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-08 18:49:52 +01:00
Michael Tremer
c6282b001b networking: Allow changing DHCP Option Rapid Commit
This option needs to be configurable since some (braindead) ISPs have
started running broken DHCP servers to be bug-compatible with cheap
broken plastic routers.

By default we keep this option enabled, but it can now be turned off
whenever needed.

Suggested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-11-05 09:06:01 +01:00
Michael Tremer
d99826dc71 suricata: Enable scanning IPsec packets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-09-24 08:45:41 +00:00
Michael Tremer
db151ad716 suricata: Add support for zones having multiple interfaces
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-09-24 08:45:31 +00:00
Michael Tremer
1b7d1abdf0 suricata: Add option to scan WireGuard
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-09-24 08:42:59 +00:00
Michael Tremer
79cce701a9 suricata: Restore the interface selection
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-09-24 08:42:43 +00:00
Michael Tremer
10210334fe Merge remote-tracking branch 'ms/cleanup' into next 2024-07-24 16:32:28 +00:00
Michael Tremer
d258c7a47a Revert "red: Fixes bug12763"
This reverts commit 9c28cd59c1.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-05-19 10:00:23 +02:00
Michael Tremer
66db90757a Remove RECONNECTION=dialondemand
We don't support this at all and so we don't need to check any more.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-04-27 19:35:47 +02:00
Michael Tremer
3f863ee70d initscripts: Add some basic functions for IP address maths
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-04-27 19:32:40 +02:00
Michael Tremer
e340d393d3 network: Don't include initscript headers twice
Everywhere we import the functions, we have already imported the
standard includes.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-04-27 19:31:08 +02:00
Adolf Belka
9c28cd59c1 red: Fixes bug12763
- This ensures that all ip route and ip rule commands are redirected to null if the output
   is not used to feed into a variable.
- This will prevent any error messages related to empty iproute tables being displayed
   during boot if an empty table is accessed.

Fixes: Bug#12763
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-04-19 18:40:15 +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
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
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
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
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
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
Michael Tremer
86ba5ce316 dhcpcd.exe: Add a safety net to make sure we always have a route
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
ece96c6f56 dhcpcd.exe: Ignore some events
We don't want any log messages printed.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
e3da491238 dhcpcd.exe: Reformat the reason dispatcher
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
1f568cc0ed network: dhcpcd fails to check link state for QMI interfaces
When acquiring an IP address, dhcpcd seems to think that the interface
is down or does not work properly for some reason. It will
subsequentially decide to exit which is not what we want here.

Therefore this patch tells dhcpcd to ignore the link state and keep
happily running.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
cb4b6f433e dhcpcd.exe: Fix typo in configuring DNS server
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
c2e2c2824a dhcpcd.exe: Run everything no matter how RED is configured
This could potentially create problems when we abuse these functions to
launch the DHCP client on IPTV interfaces. This would have to be tested
and confirmed or potentially we would need some more changes to keep
supporting that use-case, too.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
7a67f77f10 dhcpcd.exe: Only touch /var/ipfire/red/active once
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
4ffd18a774 dhcpcd.exe: Do not overwrite the default gateway when empty
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
ccf36e9e8c dhcpcd.exe: Use DNS servers from QMI
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
261727435d dhcpcd.exe: Store the default gateway when in QMI mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
36914cce70 dhcpcd.exe: Only set gateway when we have received one
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
11f6226f65 dhcpcd.exe: Actually use the received MTU
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
a22e3c8ec7 dhcpcd.exe: Flush any configured IP addresses on shutdown
This allows us to start with a fresh interface every time dhcpcd is
being restarted.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
f28d5fa8cc network: Remove --debug switch for dhcpcd in QMI mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:46 +00:00
Michael Tremer
957863f754 network: Add support for QMI modems
QMI is a proprietary interface from Qualcomm which are absolute pioneers
when it comes to interfacing with modems. I don't think there would be
any way to make this any more complicated and bloated.

So, bascially we will put the modem into a raw IP mode which changes the
interface into Point-to-Point mode.

We then configure the provider settings using qmicli. After that, the
modem will try to connect to the provider and obtain an IP address.

We will then start a DHCP client which does not do any DHCP-ing because
implementing that would be too complicated. Instead we do something even
*more* complicated where we would launch a custom script which asks the
modem for the allocated IP address and will configure it into the
device. The DHCP client then reads that IP address from the device and
pretends it came up with it by itself. Such an easy way to do this.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Michael Tremer
c6551e73c2 network: Allow passing custom options to dhcpcd
This is useful for debugging.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Michael Tremer
33d2aa6d02 dhcpcd.exe: Allow using the DHCP setup scripts when RED is not configured as DHCP
This is useful for dial-up methods that use DHCP, but when RED_TYPE is
configured as PPP.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Michael Tremer
177ec16705 dhcpcd: Log any unhandled client events
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-12-17 17:20:45 +00:00
Matthias Fischer
5806ff0cc5 Deleted 'vnstat' calls in initscripts - those options were removed and we're using 'vnstatd', not 'vnstat'.
Fixes: 12831

Jonatan Schlag reported that the command line options of 'vnstat' had changed
"...and seemed to be broken a long time".
=> https://bugzilla.ipfire.org/show_bug.cgi?id=12831#c0

Several command line switches used in networking initscripts were obviously removed.

Affected commands in '.../networking/any' and '.../networking/red'):

...
/usr/bin/vnstat -u -i ${DEVICE} -r --enable --force > /dev/null 2>&1
...
/usr/bin/vnstat -u -i ${DEVICE} -r --disable > /dev/null 2>&1
...

and
...
/usr/bin/vnstat -u -i ppp0 -r --disable > /dev/null 2>&1
...

Adolf Belka tested this, "looked through the changelogs" and found - besides that
the switch '--enable' had been removed "in version 2.0 in 2018" - that '--enable', '--update'
and '--reset' switches are either not needed or not supported anymore.
"The old man page indicates that none of those options are used when the vnstat daemon
is running."

Since we only start and run 'vnstatd' in IPFire it was decided to remove these commands.

Reported-by: jonatan.schlag <jonatan.schlag@ipfire.org>
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
2022-04-10 09:53:49 +00:00
Michael Tremer
5d0d1144fb dhcpcd: Force setting MTU through dhcpcd
The DHCP server can instruct clients to configure a certain MTU.

This used to be done by setting the MTU of the interface. However,
dhcpcd has changed this behaviour using routes to.

We used to have a modified version of the old mechanism which no longer
works well with the new system and is therefore to be dropped.

This is the first commit in the series implementing the new behaviour
and telling dhcpcd to use the configured MTU.

Fixes: #12563
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-23 15:46:44 +00:00
Peter Müller
66c3619872 Early spring clean: Remove trailing whitespaces, and correct licence headers
Bumping across one of our scripts with very long trailing whitespaces, I
thought it might be a good idea to clean these up. Doing so, some
missing or inconsistent licence headers were fixed.

There is no need in shipping all these files en bloc, as their
functionality won't change.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-18 23:54:57 +00:00
Peter Müller
52764dbe7f Tell pppd not to ask for IPv6 addresses during dial-up
pppd 2.4.9 supports IPv6 and asks for an IPv6 configuration by default.
Setting the received prefix in the kernel will never work, however, as
the rest of IPFire 2.x does not support IPv6.

pppd notices the ISP about this, and at least Otenet (GR) and British
Telecom (several countries) decide to close a dial-up connection then.
German DTAG seems to ignore such errors silently.

This patch adds an option to the pppd call to prevent asking for an
IPv6 configuration, hence avoiding this errors.

To apply this patch, it is necessary to ship ppp 2.4.9 again. Since I
have no access to a testing machine behind an ISP supporting IPv6, this
patch unfortunately is untested.

Fixes: #12651

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-22 10:54:21 +00:00
Arne Fitzenreiter
66acb7f166 initskripts: networking: fix dhcpcd shutdown
with kernel 5.10 dhcpcd hung at shutdown if red was a wireless client
becuase there was two running instances. This change repeat the
dcpcd -k call.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:37 +02:00
Peter Müller
5f16813c8a miniupnpd: Delete files that would have become orphaned after deletion of miniupnpd add-on as well
This patch requires
https://patchwork.ipfire.org/project/ipfire/list/?series=2059 to be
applied in the first place.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-05-20 09:32:33 +00:00
Michael Tremer
b67f02d512 /var/ipfire/ethernet/settings: Drop BROADCAST variable
This variable is no longer being used and was only used to
assign IP addresses to the individual interfaces.

However, the kernel knows best which IP address to select
as broadcast address for each network. Therefore we depend
on the kernel which allows us to support RFC3021.

Fixes: #12486 - no /31 transfer net available on red
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-10-07 11:46:46 +00:00
Michael Tremer
e43c3206d3 network: Fix typo for MTU value
Reported here:

  https://community.ipfire.org/t/strange-etc-init-d-networking-any-for-blue/2831

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-07-28 18:33:33 +00:00
Stefan Schantl
af7f9fc43d :xMerge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into next-switch-to-libloc
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2020-07-03 18:48:30 +02:00