Auteur Topic: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten  (gelezen 3769 keer)

Offline honnes

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Goedemorgen,

Onlangs heb ik (succesvol) via dit topic mijn Growatt-data (omvormer van zonnepanelen) laten versturen naar zowel de servers van de leverancier als het PVOutput platform.

Daarvoor is het noodzakelijk om data dus op te vangen, en ook 1-op-1 door te sturen. Dit gebeurd met wat IP-forwarding en werkt best goed... mits IP-forwarding goed ingeschakeld is.

Ik las op diverse plekken dat dit automatisch gebeurd als je bijvoorbeeld VPN ofzo gebruikt, maar er is dus ook een handmatig trucje om dat actief te stellen. Hiervoor gebruik ik bijgevoegd script, en nu wilde ik deze als "service taak" opstarten als de NAS opstart, maar hij heeft er echt geen zin in. Handmatig uitvoeren werkt wel, kan iemand mij adviseren?

Wat details/info/opmerkingen:
- Heb eigenlijk geen ervaring met sh-scripts/linux
- Ik heb hem CHMOD naar 755
- Handmatig uitvoeren werkt prima (want dat doe ik nu, om vervolgens m'n andere script te starten die de forward regelt)
- Er wordt wat code in het script uitgevoerd die eigenlijk niet meer nodig is, want hij geeft al aan dat bijv. sommige bestanden al bestaan, maar dat is voor de rest geen probleem.
- Overal gebruik ik al volledige paden omdat ik dacht dat het path niet gevonden kon worden.
  • Mijn Synology: DS214+
  • HDD's: 2

Ben(V)

  • Gast
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #1 Gepost op: 31 augustus 2018, 10:02:38 »
Wat voor commando heb je precies in je taakplanner gezet, want dit script verwacht het woord start op de commandline anders doet hij niets.

Offline honnes

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #2 Gepost op: 31 augustus 2018, 10:10:01 »
Ik start hem als gebruiker root, zonder andere afhankelijke taken (de andere die ik start is afhankelijk van deze), maar ojee ik zie nu wel iets wat hopelijk de fout is.

Ik startte hem als '/volume1/pvoutput/scripts/S10enable_nat.sh start start' (2x start!!!!). Mogelijk dat dát het is... maar misschien negeert hij de 2e start ook wel, kan ik dit ook testen zonder te herstarten?

nb. In dit geval staat er S10 voor omdat ik het eerst in rc.d wilde opnemen om automatisch te starten, maar dat mocht niet baten, vandaar dat ik ook 'start' had toegevoegd, want een ander stukje bootstrap die een symlink maakt naar m'n domoticz folder via mounten gaat wel goed
  • Mijn Synology: DS214+
  • HDD's: 2

Ben(V)

  • Gast
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #3 Gepost op: 31 augustus 2018, 11:14:05 »
Als je dit script vaker draait dan schrijft hij iedere keer een 1 in de ip_forward file en ik weet niet of dat zo lekker werkt.
Je kunt gewoon even kijken wat er in die file staat met:
Citaat
cat /proc/sys/net/ipv4/ip_forward
Als je terug naar af wilt maak je dat bestand gewoon leeg.

Ik weet niet wat dat script verder doet maar als het alleen om het aanzetten van ip forwarding gaat kunt je beter enkel dat commando in een triggered task zetten.
Dat doet je via het control panel, task scheduler, create triggered task
Kies voor boot-up en bij task setting zet je deze regel
Citaat
echo 1 > /proc/sys/net/ipv4/ip_forward
En dan die regel uit het script halen
Alternatief kun je natuurlijk het hele script laten uitvoeren at bootup via die triggered task.

Offline honnes

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #4 Gepost op: 31 augustus 2018, 11:24:32 »
Ik ga dat even proberen of die ene regel het ook gaat doen als ik die als task ga uitvoeren.

Het script heb ik ook maar overgenomen van iemand die dus aangaf hoe je het werkend kan krijgen. WEllicht is het onderste allemaal eenmalig nodig, en volstat de echo-regel. Ik ga es kijken wat er in staat bij opnieuw opstarten, maar dat weet ik vanavond/morgen pas :-). Ik houd je op de hoogte, bedankt voor het meedenken.
  • Mijn Synology: DS214+
  • HDD's: 2

Offline Pippin

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 103
  • -Ontvangen: 529
  • Berichten: 2.724
  • a.k.a. MMD
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #5 Gepost op: 31 augustus 2018, 13:27:45 »
Dat script is een snippet uit openvpn.sh
Het wordt gebruikt om ip_forward aan te zetten en het tun device te maken.
Heb je dat allemaal wel nodig?

Als het alleen om ip_forward gaat kun je ook:
net.ipv4.ip_forward = 1in
/etc/sysctl.conftoevoegen door
echo net.ipv4.ip_forward = 1 >> /etc.defaults/sysctl.confop de terminal in te geven als root.
Dat is dan permanent, of althans tot eventueel een DSM update het ongedaan maakt.

Daarvoor is dus geen script nodig...
DS414
OpenVPN #1: Beter beveiligen OpenVPN #2: Beter beveiligen als client

I gloomily came to the ironic conclusion that if you take a highly intelligent person and give them the best possible, elite education, then you will most likely wind up with an academic who is completely impervious to reality.
Halton Arp

Ben(V)

  • Gast
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #6 Gepost op: 31 augustus 2018, 13:38:52 »
Een triggered taak die bij bootup draait en de ip_forward file aanpast is handiger die wordt niet verwijdert door een update van DSM.
De ip_foward file wordt bij bootup eerst leeg gemaakt en daarna kan die triggered task er een 1 in wegschrijven.

Offline honnes

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #7 Gepost op: 31 augustus 2018, 14:03:30 »
Ik zal alleen de ip forward es proberen, als m'n "iptables --list" werkt, dan weet ik hoe laat het is ;-)

  • Mijn Synology: DS214+
  • HDD's: 2

Offline Pippin

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 103
  • -Ontvangen: 529
  • Berichten: 2.724
  • a.k.a. MMD
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #8 Gepost op: 31 augustus 2018, 14:25:06 »
Als je voor een taak gaat wordt het:
sysctl -w net.ipv4.ip_forward=1Dan wel elke boot uitvoeren want dat is niet permanent.

Ik zal alleen de ip forward es proberen, als m'n "iptables --list" werkt, dan weet ik hoe laat het is ;-)
Iets meer toelichten?
iptables werkt ook zonder ip_forward...in die zin heeft het niets met elkaar te maken.
DS414
OpenVPN #1: Beter beveiligen OpenVPN #2: Beter beveiligen als client

I gloomily came to the ironic conclusion that if you take a highly intelligent person and give them the best possible, elite education, then you will most likely wind up with an academic who is completely impervious to reality.
Halton Arp

Offline honnes

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #9 Gepost op: 31 augustus 2018, 14:55:00 »
Sorry, zo'n leek ben ik op dat gebied..... en dan ben ik al lang blij dat het script die ik gebruik werkt.

Als ik iptables --list uitvoer dan krijg ik dit te zien:

iptables v1.6.0: can't initialize iptables table `nat': table does not exist (do you need to insmod?)

Dat is voor mij 'de trigger' (even los van wat wel en niet bij elkaar hoort) om te weten dat ik weer dat script moet starten zodat mijn data doorgestuurd wordt naar een ander IP. En dat doe ik dus elke dag (tijdens het tandenpoetsen haha).

M'n casus is dus:
WiFi dongle stuurt gegevens naar NAS.
NAS maakt een TCPDump file (ofzo aan)
NAS stuurt de gegevens 1-op-1 door naar de server waar de data normaal heen gaat.

  • Mijn Synology: DS214+
  • HDD's: 2

Offline Pippin

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 103
  • -Ontvangen: 529
  • Berichten: 2.724
  • a.k.a. MMD
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #10 Gepost op: 31 augustus 2018, 15:04:45 »
Je hebt dus ook de NAT tabel nodig, daarvoor moet een kernel module geladen worden.
Dan zou dit moeten werken:
# Enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Load iptables modules
    for i in x_tables.ko ip_tables.ko iptable_filter.ko nf_conntrack.ko \
             nf_defrag_ipv4.ko nf_conntrack_ipv4.ko nf_nat.ko \
             iptable_nat.ko ipt_REDIRECT.ko xt_multiport.ko xt_tcpudp.ko \
              xt_state.ko ipt_MASQUERADE.ko
      do
        /sbin/insmod /lib/modules/$i
      done
Om regels in de NAT tabel te zien doe je:
iptables -t nat -vnLDe standaard filter tabel zie je met:
iptables -vnL
DS414
OpenVPN #1: Beter beveiligen OpenVPN #2: Beter beveiligen als client

I gloomily came to the ironic conclusion that if you take a highly intelligent person and give them the best possible, elite education, then you will most likely wind up with an academic who is completely impervious to reality.
Halton Arp

Ben(V)

  • Gast
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #11 Gepost op: 31 augustus 2018, 15:22:31 »
Zet je de Nas dan steeds uit?
Want dit script hoeft je maar een keer te draaien dan is die ip forward geset en die kernel modules toegevoegd.
Dus dat hoeft alleen maar na het booten van je Nas.

Daarom zei ik ook zet het in een triggered task die draait na elke boot.

Offline honnes

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #12 Gepost op: 01 september 2018, 01:32:09 »
Ja ik heb 's nachts m'n NAS uitstaan omdat ik het niet nodig acht. Ik heb nu het script aangepast zonder TUN, ik ga morgen nog es 1x checken hoe het nu gaat, en anders ga ik de inhoud van het script in m'n opstart-script zetten i.p.v dat ik het script zelf aanroep.
  • Mijn Synology: DS214+
  • HDD's: 2

Ben(V)

  • Gast
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #13 Gepost op: 01 september 2018, 08:42:14 »
Ik snap niet waarom je steeds mijn suggestie om de aanroep van dat script in een triggered task te zetten negeert?
Daarna boot je een keer en kijkt met "cat /proc/sys/net/ipv4/ip_forward" of het goed gegaan is.

Offline honnes

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Re: IPTables forwarden van verkeer inschakelen script wil niet automatisch starten
« Reactie #14 Gepost op: 02 september 2018, 09:24:41 »
Bedoel je als taak toevoegen en dan 'Opstarten' als moment? Dat heb ik ook gedaan.

Als ik dat doe (dus gewoon de inhoud van script geplakt in het uit te voeren gedeelte) als taskopneem en laat uitvoeren bij 'Opstarten' als moment, dan is de ip_forward 1 gevuld met 1.

'ip tables -t nat -vnL' geeft dan een lege tabel weer.

'iptables --list' geeft dan aan 'iptables v1.6.0 cant initialize table filter: table does not exist (do you need to insmod)'.

Slinger ik vervolgens handmatig dat script aan door via 'taakplanner' op uitvoeren te klikken, dan toont ook dat command een lege tabel.

Als ik dan ook weer eens mijn 'growatt' script uitvoer, dan bevat 'iptables -t nat -vnL' ook de juiste waardes.
Als ik dit 'growatt' script uitvoer vóórdat ik nogmaals dat NAT enable script draai, dan krijg ik namelijk de melding 'iptables: No chain/target/match by that name'

Ik heb het script nu ingesteld om 5 minuten na de powerup van m'n NAS te starten, mogelijk dat het invloed heeft.

[update]
Als ik via een taak het script start gaat het goed ! :-). Alleen blijkt dat mijn tcpdump-script niet goed gestart wordt. Zal even in ieder geval proberen om die gewoon een minuut later te starten zodat het niet te snel elkaar op volgt. Ik laat het resultaat even weten, maar het forwarden inschakelen gaat nu goed!
[/update]
  • Mijn Synology: DS214+
  • HDD's: 2


 

iptables geeft leeg resultaat?

Gestart door mchp92Board Overige software

Reacties: 1
Gelezen: 1105
Laatste bericht 29 september 2016, 15:30:37
door Pippin