Commit Graph

56 Commits

Author SHA1 Message Date
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
Michael Tremer
9bdf5e71af networking: Set configured MTU to all network zones
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-06-19 17:14:58 +00:00
Stefan Schantl
d2b364f032 red.up: Do not download/update location database.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2020-06-08 21:20:17 +02:00
Stefan Schantl
8b58dbf32a Merge branch 'switch-to-libloc' into next-switch-to-libloc 2020-05-25 19:58:54 +02:00
Arne Fitzenreiter
18136c5ce9 dhcpcd: new pid path for dhcpcd 9.x
dhcpcd 9.x move the path of the pids to an own folder.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-04-19 17:27:12 +00:00
Arne Fitzenreiter
a344d3c902 unbound/red.up: run unbound update-forwarders after suricata init.
The old suricata instance blocks dns requests if the red ip has changed.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-04 08:52:56 +01:00
Arne Fitzenreiter
3b5131c1a3 unbound: drop remove-dns-fowarders at red.down
this functions has only reloaded unbound config
which is useless at shutting down the red interface.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-02 17:54:48 +00:00
Arne Fitzenreiter
8569b3e11b red.up: move update-dns-forwareders behind the firewall
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-02-19 14:51:48 +00:00
Michael Tremer
c3ae88cab9 PPP: Always fetch DNS servers from provider
We will later decide whether we want to use them or not

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-01-31 10:06:34 +00:00
Arne Fitzenreiter
a83bcf914c networking/red: wait only for carrier if device exists
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-25 22:22:26 +01:00
Michael Tremer
04b7a78140 unbound: Do not reset safe search again
This is now done in the reload stage and we do not need to
take care about it again.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-01-13 21:25:10 +01:00
Michael Tremer
1434fa0df5 DNS: Write name servers received from ISP to /var/run/dns{1,2}
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-01-07 13:35:45 +00:00
Michael Tremer
4e2d3325af unbound: Drop live checks
Those checks have caused us a lot of trouble and are now being dropped.

Users must make sure to choose servers that support DNSSEC or enable
any of the tunneling mechanisms to be able to reach them.

Fixes: #12239
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-01-07 13:11:38 +00:00
Michael Tremer
d7190078ce unbound: Configure Safe Search dynamically
The safe search code relied on working DNS resolution, but
was executed before unbound was even started and no network
was brought up.

That resulted in no records being created and nothing being
filtered.

This will now set/reset safe search when the system connects
to the Internet.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-12-29 08:51:21 +00:00
Stefan Schantl
1eee696bb4 red.up: Download / Update location database.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2019-12-09 14:59:26 +01:00
Arne Fitzenreiter
bedfda83c9 dhcpcd.exe: remove red.down run on "NOCARRIER"
after "NOCARRIER" the dhcp client always run "EXPIRE" event.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-12-01 18:33:19 +01:00
Arne Fitzenreiter
941520c69c Merge branch 'next' of git.ipfire.org:/pub/git/ipfire-2.x into next 2019-12-01 16:36:43 +01:00
Arne Fitzenreiter
d346d47467 up/down beep: move from ppp ip-up/down to general red.up/down
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-12-01 15:29:59 +01:00
Arne Fitzenreiter
455291f90e 70-dhcpdd.exe: don't run red.down scripts at "PREINIT"
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-12-01 14:43:49 +01:00
Arne Fitzenreiter
fff96e3945 networking red: add delay to wait for carrier
some nic's need some time after link up to get a carrier

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-11-30 22:26:00 +01:00
Arne Fitzenreiter
f938083fb5 dhcpcd: 10-mtu break if carrier was lost
some nic's like Intel e1000e needs a reinit to change the
mtu. In this case the dhcp hook reinit the nic and terminate now
to let the dhcpcd reinit the card in backgrounnd without running the
rest of the hooks.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-11-30 22:21:42 +01:00
Stefan Schantl
c8b068a2b5 red.up: Generate Suricata DNS servers file on reconnect.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-11-13 19:14:20 +00:00
Michael Tremer
a3f4b8c6f7 99-geoip-database: Fix download
This script started a fresh download every time it was called,
which is unnecessary.

The check to skip the download did not work because it was
looking for the old data format.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-10-14 17:47:31 +00:00
Arne Fitzenreiter
3ec3329dff unbound: rework dns-forwader handling
add check if red interface has an IPv4 address before test the servers at
red up and simply remove forwarders at down process.

This also fix the hung at dhcpd shutdown.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-07-16 19:20:48 +02:00
Michael Tremer
01604708c3 Merge remote-tracking branch 'stevee/next-suricata' into next 2019-03-14 13:19:35 +00:00
Stefan Schantl
77c07352a5 Suricata: Start service on red.up event if requested
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2019-02-15 13:26:55 +01:00
Stefan Schantl
8117fff863 IDS: Call helper script when red interface gets up
The helper script will be automatically called when the red interface gets up
and will re-generate the HOME_NET file, to take care if the IP-address of this
interface has changed.

Fixes #11989

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
2019-02-06 15:40:19 +01:00