[SR-Users] systemd - properly starting up rtpengine with kernel forwarding

Sergey Safarov s.safarov at gmail.com
Fri Jan 17 15:37:30 CET 2020


Not strictly related, but if someone is aware or had some experiences
with,  I am curious if "echo 'del 0' > /proc/rtpengine/control" is
really needed because on a system where I forgot to have it in the
scripts (well, was commented), I haven't noticed any issues after
rtpengine restarts.

Could you clarify of correct order rtpengine start?
What is happen if ipables have rule
```
iptables -I INPUT -p udp -j RTPENGINE --id 0
```
And then rtpengine failed to start?
Is any issue here?

On Fri, Jan 17, 2020 at 5:30 PM Sergey Safarov <s.safarov at gmail.com> wrote:

> Systemd seems to have the "ExecStartPre" option, is it what people use
> to ensure the rtpengine kernel module is loaded and iptables rule exists?
>
> yes, that is option
> But this command will be executed for Every daemon start.
>
> Any systemd-specific wayt to run a script only once after system boot? I
> have seen workarounds on the net for creating like a rc.local service,
> but they didn't look to be systemd-native
>
> I can recommend create dedicated systemd unit file
> "prepare-rtpengine.service"
> Like this
>
> [Unit]
> Description=prepare rpengine
>
> [Service]
> Type=oneshot
> RemainAfterExit=yes
> ExecStartPre=/usr/sbin/modprobe xt_RTPENGINE
> ExecStart=/usr/sbin/iptables -I INPUT -p udp -j RTPENGINE --id 0
> ExecStartPost=ip6tables -I INPUT -p udp -j RTPENGINE --id 0
> StandardOutput=syslog
> StandardError=syslog
>
> [Install]
> RequiredBy=rtpengine.service
> WantedBy=basic.target
>
> and then
> systemctl enable prepare-rtpengine.service
>
> This will create dependency that will be execute one tme before rtpengine
> daemon started.
>
>
> On Fri, Jan 17, 2020 at 5:03 PM Daniel-Constantin Mierla <
> miconda at gmail.com> wrote:
>
>> Hello,
>>
>> do people here have (implemented) special ways to properly start
>> rtpengine with kernel forwarding after system reboot?
>>
>> From rtpengine readme:
>>
>> """
>>
>> A typical start-up sequence including in-kernel forwarding might look
>> like this:
>>
>> # this only needs to be one once after system (re-) boot
>> modprobe xt_RTPENGINE
>> iptables -I INPUT -p udp -j RTPENGINE --id 0
>> ip6tables -I INPUT -p udp -j RTPENGINE --id 0
>>
>> # ensure that the table we want to use doesn't exist - usually needed
>> after a daemon
>> # restart, otherwise will error
>> echo 'del 0' > /proc/rtpengine/control
>>
>> # start daemon
>> /usr/sbin/rtpengine --table=0 --interface=10.64.73.31
>> --interface=2001:db8::4f3:3d \
>> --listen-ng=127.0.0.1:2223 --tos=184 --pidfile=/run/rtpengine.pid
>> --no-fallback
>>
>> """
>>
>> I was relying on shell scripts executed on boot time, but now that
>> systemd is more common, I am looking to see what are
>> "standard"/"recommended" ways for running additional scripts besides the
>> start/stop daemon, which makes it also easier to build packages not
>> worrying about the type of OS and how it can run scripts at startup.
>>
>> Systemd seems to have the "ExecStartPre" option, is it what people use
>> to ensure the rtpengine kernel module is loaded and iptables rule exists?
>>
>> Any systemd-specific wayt to run a script only once after system boot? I
>> have seen workarounds on the net for creating like a rc.local service,
>> but they didn't look to be systemd-native, ...
>>
>> Not strictly related, but if someone is aware or had some experiences
>> with,  I am curious if "echo 'del 0' > /proc/rtpengine/control" is
>> really needed because on a system where I forgot to have it in the
>> scripts (well, was commented), I haven't noticed any issues after
>> rtpengine restarts.
>>
>> Cheers,
>> Daniel
>>
>> --
>> Daniel-Constantin Mierla -- www.asipto.com
>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio World Conference - April 27-29, 2020, in Berlin --
>> www.kamailioworld.com
>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200117/75c8f28a/attachment.html>


More information about the sr-users mailing list