IP-Forwarding für Synology®-NAS

Zweck / Kurzbeschreibung

Synology® hat als Standard-Einstellung, dass IP-Forwarding deaktiviert ist. Das ist für die meisten NAS-Systeme eine gute Idee, wenn ihr aber ein NAS mit mehreren Ethernet-Ports habt, und diesen als Multihomed-Host betreiben wollt, müsst ihr IP-Forwarding aktivieren.

Bisher gibt es im Synology-DSM keine Möglichkeit das IP-Forwarding direkt zu aktivieren. Damit gibt es nur drei Möglichkeiten unter Linux per Console das IP-Forwarding zu aktivieren:

alle drei Methoden haben den Nachteil, dass sie auf Synology-NAS-Systemen nicht permanent sind. Die ersten beiden Varianten werden bei einem Neustart des Systems nicht wiederhergestellt. Die dritte Variante hält bis zum nächsten Systemupdate, bei dem die "http://www.huckfeldt.eu/etc/sysctl.conf" neu geschrieben wird.

Meine Lösung ist, ein Paket zu installieren, dass bei seinem Start das IP-Forwarding einschaltet. Via Paketmanager kann man das Forwarding jederzeit starten und stoppen. Beim Systemstart wird das IP-Forwarding standardmäßig aktiviert. Wer dass nicht mehr will, sollte das Paket deinstallieren. Auf diese Weise habe ich mir das Erstellen eines eigenen Konfigurationsdialogs erspart ;-)).

Systemvoraussetzungen

Anwendung

Portabilität

Downloads

Source-Paket

IPForward_Source.tgz

Binaries Package für alle Prozessoren

IPForward-armadaxp-1.0.00.spk
IPForward-noarch-1.0.00.spk

Mein Start-Stop-Script


#!/bin/sh

if [ -z "$SYNOPKG_PKGNAME" ]; then
	# prior DSM 3.2, start script will be run without environment variable
	#  at boot time, thus we need a workaround to gather name and version info
	PACKAGE_NAME="IPForward"
	PACKAGE_VER=`get_key_value "http://www.huckfeldt.eu/var/packages/${PACKAGE_NAME}/INFO" "version"`
else
	PACKAGE_NAME=$SYNOPKG_PKGNAME
	PACKAGE_VER=$SYNOPKG_PKGVER
fi
PACKAGE_DIR="http://www.huckfeldt.eu/var/packages/${PACKAGE_NAME}"
PRIVATE_LOCATION="${PACKAGE_DIR}/target"

case $1 in
	start)
		echo 1 >/proc/sys/net/ipv4/ip_forward
		exit 0
	;;
	stop)
		echo 0 >/proc/sys/net/ipv4/ip_forward
		exit 0
	;;
	status)
		if [ `cat /proc/sys/net/ipv4/ip_forward` = "1" ]; then
			exit 0
		else
			exit 1
		fi
	;;
esac

exit 0
		

Copyright

Copyright ©2017 Sönke Huckfeldt

Dieses Programm ist Freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation, Version 3 der Lizenz oder (nach Ihrer Wahl) jeder neueren veröffentlichten Version, weiterverbreiten und/oder modifizieren.

Dieses Programm wird in der Hoffnung, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere Details.

Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/.

Der von mir erstellte Teil der Software ist frei von Rechten dritter, Eine Urheberrechtsverzichtserklärung des Arbeitgebers liegt vor. Die verwendeten Bibliotheken sind frei, aber unterliegen ihren jeweiligen Lizenzbestimmungen. Beachten Sie die Angaben in dieser Datei für Details.

/*****************************************************************************
 * IP-Forwarder                                                              *
 *                                                                           *
 *  Copyright ©2017 by Sönke Huckfeldt webmaster (at) huckfeldt.eu           *
 *                                                                           *
 *  Licensed under GNU General Public License 3.0 or later.                  *
 *  Some rights reserved. See this README and COPYING.                       *
 *                                                                           *
 * License http://www.gnu.org/licenses/                                      *
 *****************************************************************************/

Disclaimer

Die folgenden Abschnitte dieser Datei liegen nur auf Englisch vor:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.