Debian iptables laden niet

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • SanderH_
  • Registratie: Juni 2010
  • Laatst online: 15:28
Onlangs heb ik Debian geïnstalleerd op mijn home server. Ik heb al wat ervaring met RH distro's zoals fedora en daar kon je de iptables gaan aanpassen, in een fysiek bestand via:

nano /etc/sysconfig/iptables


Hier kon je dan alle regels gaan aanpassen, firewall reloaden en klaar. In debian ligt het iets anders en heb ik het volgende gedaan:

#nieuw bestand aanmaken vanaf nul en hierin mijn firewall regels plaatsen
nano /etc/iptables.rules
#iptables laden
iptables-restore < /etc/iptables.rules


Dit lukt perfect, de nieuwe regels laden en de dingen die hij moet doorlaten werken wel degelijk. Eenmaal ik mijn systeem reboot krijg ik weer de default firewall regels en is mijn firewall configuratie is verdwenen. Dit is niet echt handig aangezien ik geen extra scherm heb en alles via SSH/VNC moet gebeuren. Na wat googelen zou dit een oplossing zijn:

nano /etc/network/if-pre-up.d/iptables
#in dit bestand komt dan het commando
iptables-restore < /etc/iptables.rules
#executable maken
chmod +x /etc/network/if-pre-up.d/iptables


Maar ook zonder success. Ik heb ook geprobeerd om dit het iptables-restore commando in mijn rc.local te plaatsen, maar ook dit lukt niet.

[ Voor 5% gewijzigd door SanderH_ op 24-04-2011 13:16 ]


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Halverwege op http://www.aboutdebian.com/firewall.htm staat hoe diegene het voor elkaar krijgt (en nog meer info sowieso), wellicht heb je daar wat aan.

Het lijkt me niet de juiste manier om iptables.rules handmatig aan te passen.

Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 10:14

deadinspace

The what goes where now?

Ik gok dat je de Gnome desktop hebt geinstalleerd, en dus dat je network-manager gebruikt en niet Debians ifupdown systeem. Network-manager is prima voor desktops en laptops, maar in mijn ogen erg ongeschikt voor serversystemen.

Ik raad je sterk aan om ifupdown te gebruiken voor je network interface(s). Dat kan door de interfaces in te stellen in /etc/network/interfaces; network-manager zal ze dan negeren.
SanderH_ schreef op zondag 24 april 2011 @ 13:09:
#nieuw bestand aanmaken vanaf nul en hierin mijn firewall regels plaatsen
nano /etc/iptables.rules
#iptables laden
iptables-restore < /etc/iptables.rules
Ik zou je aanraden om je rules bestand uitvoerbaar te maken en hem zo te laten beginnen:
#! /sbin/iptables-restore

*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
...

Dan hoef je iptables-restore niet zelf aan te roepen, maar kun je je rules bestand gewoon uitvoeren als een willekeurig shell-script. Je kunt je iptables.rules dan ook gewoon zelf in /etc/networking/if-pre-up.d plaatsen.

(Alternatief kun je hem ergens anders plaatsen en via een pre-up regel in /etc/network/interfaces aanroepen in de pre-up van een specifieke interface)
Maar ook zonder success. Ik heb ook geprobeerd om dit het iptables-restore commando in mijn rc.local te plaatsen, maar ook dit lukt niet.
rc.local werkt waarschijnlijk niet omdat network-manager de interface nog niet geconfigureerd heeft op het moment dat rc.local draait.

Een pre-up hook is eigenlijk ook het enige juiste moment om de firewall in te stellen voor een interface. Als je het eerder probeert kan het zijn dat de interface nog niet voldoende geconfigureerd (of zelfs maar aanwezig) is. Als je het later probeert dan is de interface dus even up zonder dat je firewall actief is.
Osiris schreef op zondag 24 april 2011 @ 13:29:
Het lijkt me niet de juiste manier om iptables.rules handmatig aan te passen.
Handmatig aanpassen? Hij heeft die hele file zelf gemaakt :P

Acties:
  • 0 Henk 'm!

  • SanderH_
  • Registratie: Juni 2010
  • Laatst online: 15:28
deadinspace schreef op zondag 24 april 2011 @ 16:20:
Dat kan door de interfaces in te stellen in /etc/network/interfaces; network-manager zal ze dan negeren.
Hier heb ik al mijn eth1 interface geconfigureerd met gateway, broadcast, etc..
Ik zou je aanraden om je rules bestand uitvoerbaar te maken en hem zo te laten beginnen:
#! /sbin/iptables-restore

*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
...

Dan hoef je iptables-restore niet zelf aan te roepen, maar kun je je rules bestand gewoon uitvoeren als een willekeurig shell-script. Je kunt je iptables.rules dan ook gewoon zelf in /etc/networking/if-pre-up.d plaatsen.
Dus ik kan mijn complete set van firewall regels in if-pre-up.d zelf plaatsten? Komt de de COMMIT niet trouwens helemaal onderaan?

Als ik het commando iptables-reload < /etc/iptables.rules ergens zou kunnen laten lopen tijdens het booten is het ook goed. Dan kan ik ineens mijn VNC server starten, want momenteel moet ik dit nog iedere keer handmatig doen.

[ Voor 3% gewijzigd door SanderH_ op 24-04-2011 17:01 ]


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 10:14

deadinspace

The what goes where now?

SanderH_ schreef op zondag 24 april 2011 @ 17:00:
Hier heb ik al mijn eth1 interface geconfigureerd met gateway, broadcast, etc..
Wat is de inhoud van je /etc/network/interfaces?

En wat is de inhoud van je huidige /etc/network/if-pre-up.d/iptables?
Dus ik kan mijn complete set van firewall regels in if-pre-up.d zelf plaatsten?
Jep, dat kan, mits je die #! regel zoals in mijn vorige post vooraan plaatst en hem uitvoerbaar maakt.
Komt de de COMMIT niet trouwens helemaal onderaan?
iptables-save output een COMMIT voor elke table, dat is de syntax die ik vroeger zelf ook gebruikte, dus daar ben ik van uit gegaan.

Wie weet werkt één enkele COMMIT statement ook, maar ik vermoed eerder dat jij maar één table sectie in je rules-file hebt (en dus maar één bijbehorende COMMIT).
Als ik het commando iptables-reload < /etc/iptables.rules ergens zou kunnen laten lopen tijdens het booten is het ook goed.
Dat raad ik af, zie mijn vorige post voor de redenen.
Dan kan ik ineens mijn VNC server starten, want momenteel moet ik dit nog iedere keer handmatig doen.
Ik neem aan dat je iets als vnc4server gebruikt? In dat geval is het het netst om een eigen initscript te maken in /etc/init.d. Je kunt /etc/init.d/skeleton als voorbeeld gebruiken. Als je initscript klaar is en werkt, vergeet dan niet de runlevels goed in te stellen (met update-rc.d <naam> defaults).

Acties:
  • 0 Henk 'm!

  • SanderH_
  • Registratie: Juni 2010
  • Laatst online: 15:28
deadinspace schreef op zondag 24 april 2011 @ 18:29:
Wat is de inhoud van je /etc/network/interfaces?
En wat is de inhoud van je huidige /etc/network/if-pre-up.d/iptables?
#/etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#NetworkManager#iface eth0 inet dhcp
auto eth0

iface eth0 inet static
	address 192.168.1.10
	netmask 255.255.255.0
	network 192.168.1.0
	broadcast 192.168.1.255
	gateway 192.168.1.1


#etc/network/if-pre-up.d/iptables
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
Ik neem aan dat je iets als vnc4server gebruikt? In dat geval is het het netst om een eigen initscript te maken in /etc/init.d. Je kunt /etc/init.d/skeleton als voorbeeld gebruiken. Als je initscript klaar is en werkt, vergeet dan niet de runlevels goed in te stellen (met update-rc.d <naam> defaults).
Ik gebruik tightvncserver. Om hem te starten gebruik ik het commando:

tightvncserver :1


Meer eigenlijk niet. Dan kan ik mooi connecteren. Hoe zit dit init-script er juist uit? Gewoon een shell-script met dat ene lijntje in? Ik log altijd ook eerst in via su -, maar als ik er sudo voorplaats zal dit dan hetzelfde effect hebben?

Ik vraag me ook af hoe ik debian automatisch kan laten doorstarten. Momenteel vraagt hij eerst nog om in te loggen met een gewone gebruikersaccount en mijn paswoord (werd gevraagd tijdens debian install). Als ik hem later start kan ik dit paswoord niet meer ingeven en kan hij SSH/VNC ook nog niet starten.

Ik heb al wat gezocht en blijkbaar moest je iets wijzigen in /etc/pam.d/gdm, maar dit is niet maar van toepassing op de huidige versie van debian.

Het zijn nogal wat veel vragen die ik hier stel, maar éénmaal hij automatisch start en VNC kan laden, kan ik hem gewoon aan een voedingskabel + ethernet hangen, de rest gebeurt via VNC, en dan zoek ik het wel verder uit.

[ Voor 47% gewijzigd door SanderH_ op 24-04-2011 20:41 ]


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 10:14

deadinspace

The what goes where now?

SanderH_ schreef op zondag 24 april 2011 @ 19:45:
#/etc/network/interfaces
iface eth0 inet static
	address 192.168.1.10
	netmask 255.255.255.0
	network 192.168.1.0
	broadcast 192.168.1.255
	gateway 192.168.1.1
Ok, dat ziet er goed uit. De "network" en "broadcast" regels zijn overigens niet nodig; ifupdown kan die zelf berekenen uit het address en de netmask.
#etc/network/if-pre-up.d/iptables
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
Klopt die filename wel? In je eerste post had je het over /etc/iptables.rules (zonder de.up). Krijg je iets van foutmeldingen als je het volgende doet?
ifdown eth0; ifup eth0
Ik vraag me ook af hoe ik debian automatisch kan laten doorstarten. Momenteel vraagt hij eerst nog om in te loggen met een gewone gebruikersaccount en mijn paswoord (werd gevraagd tijdens debian install). Als ik hem later start kan ik dit paswoord niet meer ingeven en kan hij SSH/VNC ook nog niet starten.

Ik heb al wat gezocht en blijkbaar moest je iets wijzigen in /etc/pam.d/gdm, maar dit is niet maar van toepassing op de huidige versie van debian.

Het zijn nogal wat veel vragen die ik hier stel, maar éénmaal hij automatisch start en VNC kan laden, kan ik hem gewoon aan een voedingskabel + ethernet hangen, de rest gebeurt via VNC, en dan zoek ik het wel verder uit.
Automatisch inloggen kun je eenvoudig instellen vanuit Gnome. Vanuit daar kun je je user desktop ook delen over VNC, dan heb je tightvncserver niet nodig, en vervalt de bijbehorende hoe-te-starten kwestie.

Acties:
  • 0 Henk 'm!

  • SanderH_
  • Registratie: Juni 2010
  • Laatst online: 15:28
deadinspace schreef op zondag 24 april 2011 @ 23:19:

Klopt die filename wel? In je eerste post had je het over /etc/iptables.rules (zonder de.up). Krijg je iets van foutmeldingen als je het volgende doet?
ifdown eth0; ifup eth0
Die up stond er inderdaad te veel. Als ik ifdown eth0; ifup eth0 ingaf zei hij eerst:

Stopping the firestarter firewall...
Starting the firestarter firewall...


Ik had in het begin firestarter geïnstalleerd om men firewall eens compleet af te leggen, maar dan gooit hij uiteraard alle regels weg. Nu heb ik de firestarter package uninstalled en als ik je commando nu ingeef krijg ik geen errors maar ook helemaal niets van output.

EDIT: net even gereboot en nu laadt hij inderdaad mooi mijn custom firewall regels. Het lag dus aan die typo.

_/-\o_

Hoe zorg ik er nu trouwens voor dat hij het login scherm overslaat? In /etc/pam.d/gdm3 heb ik al een aanpassing gedaan waardoor hij geen paswoord meer vraagt, maar ik moet wel nog steeds op ENTER duwen. Niet echt handig als ik van plan ben om er geen toetsenbord of scherm aan te hangen. Ik wil alles via SSH doen.

GNOME verwijderen is waarschijnlijk wel een optie.. maar ik heb graag een GUI achter de hand moest er iets fout lopen.

[ Voor 27% gewijzigd door SanderH_ op 25-04-2011 13:07 ]


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 10:14

deadinspace

The what goes where now?

SanderH_ schreef op maandag 25 april 2011 @ 11:48:
... en als ik je commando nu ingeef krijg ik geen errors maar ook helemaal niets van output.
Klopt, dat zal geen output geven als er niets mis gaat. Voordat je die typo gefixt had zou ifup wel geklaagd hebben als het goed is.
EDIT: net even gereboot en nu laadt hij inderdaad mooi mijn custom firewall regels. Het lag dus aan die typo.
Mooi, dan zou het ook moeten werken als je handmatig ifup doet.
Hoe zorg ik er nu trouwens voor dat hij het login scherm overslaat?
Zoals ik al zei: dat is eenvoudig in Gnome in te stellen. Heb je al eens bij Administration > Login screen gekeken?
In /etc/pam.d/gdm3 heb ik al een aanpassing gedaan waardoor hij geen paswoord meer vraagt, maar ik moet wel nog steeds op ENTER duwen.
/etc/pamd.d/gdm3 zou ik niet aanpassen om eerlijk te zijn. Het is niet nodig, en PAM vereist dat je goed doorhebt waar je mee bezig bent :P
Pagina: 1