Iptables op CentOS7 doet raar

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 01-10 13:40

Yzord

Ubi fumus, ibi ignis

Topicstarter
Ik ben via deze tutorial bezig om OpenVPN op een CentOS7 bak te installeren. Dit gaat eigenlijk goed en lijkt zonder fouten te zitten. Totdat we ons bezig moeten gaan houden met Iptables (zucht).

Het volgende is het geval:
[root@vpn2 easy-rsa]# systemctl mask firewalld
ln -s '/dev/null' '/etc/systemd/system/firewalld.service'
[root@vpn2 easy-rsa]# systemctl enable iptables
ln -s '/usr/lib/systemd/system/iptables.service' '/etc/systemd/system/basic.target.wants/iptables.service'
[root@vpn2 easy-rsa]# systemctl stop firewalld
[root@vpn2 easy-rsa]# systemctl start iptables
Job for iptables.service failed. See 'systemctl status iptables.service' and 'journalctl -xn' for details.
Dus doen we een systemctl status iptables.service:
[root@vpn2 easy-rsa]# systemctl status iptables.service
iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled)
Active: failed (Result: exit-code) since do 2015-02-05 05:51:33 EST; 18min ago
Process: 1045 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=1/FAILURE)
Main PID: 1045 (code=exited, status=1/FAILURE)

feb 05 05:51:33 vpn2 systemd[1]: Starting IPv4 firewall with iptables...
feb 05 05:51:33 vpn2 iptables.init[1045]: iptables: Applying firewall rules: iptables-restore: line 14 failed
feb 05 05:51:33 vpn2 iptables.init[1045]: [FAILED]
feb 05 05:51:33 vpn2 systemd[1]: iptables.service: main process exited, code=exited, status=1/FAILURE
feb 05 05:51:33 vpn2 systemd[1]: Failed to start IPv4 firewall with iptables.
feb 05 05:51:33 vpn2 systemd[1]: Unit iptables.service entered failed state.
Dus lees ik /etc/sysconfig/iptables in waarin ik dus line 14 bestudeer:
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
Mar daar staat dus COMMIT, wat dus eigenlijk goed is. Google bied ook geen oplossing. Weet iemand hoe ik mijn iptables service gestart krijg onder centOS 7?

Acties:
  • 0 Henk 'm!

  • ripperke
  • Registratie: Augustus 2003
  • Laatst online: 19-08 16:06

ripperke

w00t!

Doe eens op de commandline :

code:
1
2
3
4
5
6
7
iptables -F 
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited


Geeft een via die commandos errors? Als dat allemaal prima werkt, doe dan even
code:
1
iptables-save


en vergelijk die output eens met /etc/sysconfig/iptables ?

If TCP/IP handshaking was less formal, perhaps SYN/ACK would be YO/WASSUP


Acties:
  • 0 Henk 'm!

  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 01-10 13:40

Yzord

Ubi fumus, ibi ignis

Topicstarter
[root@vpn2 easy-rsa]# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables: No chain/target/match by that name.
Dat probleem had ik gisteren ook toen ik het probeerde op CentOS 6. Dit zou te maken hebben met -m state, maar wat ik ook probeer, niks werkt.

Ow ja, ik zit op een OpenVZ VPS waarin TUN aanstaat. Maar dat heeft niet echt invloed op iptables zover ik weet.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 01-10 21:30

Hero of Time

Moderator LNX

There is only one Legend

Iptables is EOL met CentOS7. Je moet nu firewalld gebruiken. Daar zit je fout. De guide die je volgt is niet geschikt voor CentOS7, ondanks dat 't er voor is geschreven. Ik kan maar 1 reden bedenken waarom je iptables zou gaan gebruiken ipv firewalld: onkunde en onvoldoende kennis van firewalld (of ook wel, gebruikersgemak en luiheid).

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 01-10 13:40

Yzord

Ubi fumus, ibi ignis

Topicstarter
Ja sorry, ik volg gewoon de tutorial en ik ben eerlijk gezegd ook helemaal niet bekend met firewalld...

Acties:
  • 0 Henk 'm!

  • freggy
  • Registratie: Juli 2002
  • Niet online
Ow ja, ik zit op een OpenVZ VPS waarin TUN aanstaat. Maar dat heeft niet echt invloed op iptables zover ik weet.
Nochtans kan het er veel mee te maken hebben.

http://openvz.org/Setting_up_an_iptables_firewall:
If you want to use stateful firewall rules (and you should!) you will also need to make sure that 'ipt_state' is in the 'IPTABLES' option in your vz.conf file:

code:
1
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state"

Acties:
  • 0 Henk 'm!

  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 01-10 13:40

Yzord

Ubi fumus, ibi ignis

Topicstarter
Die regel had ik er al in staan op ipt_state na....ik ga hem implementeren en laat het je weten. Dom van me dat ik niet meteen in de FAQ van OpenVZ heb gekeken.

bedankt

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:29
Hero of Time schreef op donderdag 05 februari 2015 @ 12:50:
Iptables is EOL met CentOS7. Je moet nu firewalld gebruiken. Daar zit je fout
Je moet niets. firewalld is de default, maar er staat nog netjes in de manual hoe je iptables direct gebruikt: Using the iptables Service

Bovendien is firewalld een wrapper om iptables, dus zo EOL is het niet ;)
Ik kan maar 1 reden bedenken waarom je iptables zou gaan gebruiken ipv firewalld: onkunde en onvoldoende kennis van firewalld (of ook wel, gebruikersgemak en luiheid).
Is dat nou echt nodig? :/
freggy schreef op donderdag 05 februari 2015 @ 13:27:
Nochtans kan het er veel mee te maken hebben.
Yes, dat is een van de grote nadelen van OpenVZ. Alles draait onder een en dezelfde kernel, en de guest kan geen modules loaden. Dat is niet alleen onhandig vanuit securityperspectief, maar ook praktisch vervelend.

Het kan dan ook niet anders dan dat dit hier het probleem is.

Nu gaat OpenVZ al een tijdje mee en inmiddels is KVM dermate stabiel dat ik persoonlijk (en velen met mij) hier de voorkeur aan geef. Dan draait iedere guest z'n eigen kernel, met als bijkomend voordeel dat je niet tegen dit soort ongein aanloopt.

Wel is OpenVZ nog redelijk populair in de low-cost budget VPS hosting-wereld; je kunt het stukken makkelijker overcommitten (en dus oversellen) dan KVM.

Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 04:23

Blokker_1999

Full steam ahead

Hero of Time schreef op donderdag 05 februari 2015 @ 12:50:
Iptables is EOL met CentOS7. Je moet nu firewalld gebruiken. Daar zit je fout. De guide die je volgt is niet geschikt voor CentOS7, ondanks dat 't er voor is geschreven. Ik kan maar 1 reden bedenken waarom je iptables zou gaan gebruiken ipv firewalld: onkunde en onvoldoende kennis van firewalld (of ook wel, gebruikersgemak en luiheid).
Ik moet zeggen dat ik zelf heel weinig van firewalls en iptables ken. Op school probeer ik de meeste taken uit te voeren op CentOS omdat ik Debian al voldoende ken om die taken tot een vlot einde te brengen en dan kom je inderdaad de firewall tegen bij het opzetten van bepaalde services (zoals een webserver). En ik moet zeggen dat ik dankzij de nieuwe tools die bij firewalld horen er eigenlijk veel vlotter mee weg ben dan dat ik me nog kan herinneren van vroeger met iptables gespeeld te hebben. Gebruiksgemak is dus zeker geen issue, waarschijnlijk zullen de grootste hindernissen vooral zitten bij mensen die iptables gewoon zijn en goed kennen en bijgevolg schrik hebben van verandering.

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 01-10 21:30

Hero of Time

Moderator LNX

There is only one Legend

Thralas schreef op donderdag 05 februari 2015 @ 14:03:
[...]

Je moet niets. firewalld is de default, maar er staat nog netjes in de manual hoe je iptables direct gebruikt: Using the iptables Service

Bovendien is firewalld een wrapper om iptables, dus zo EOL is het niet ;)
Het direct aanroepen is EOL en als service bestaat 't bij een default installatie ook niet meer. Ook als ik kijk of er een proces met naam 'iptables' draait, is er geen resultaat.
[...]

Is dat nou echt nodig? :/
Ik had dat beter moeten nuanceren. Ik doelde niet op luiheid e.d. van de TS, maar van de schrijver van de guide.
Blokker_1999 schreef op donderdag 05 februari 2015 @ 14:05:
[...]

Ik moet zeggen dat ik zelf heel weinig van firewalls en iptables ken. Op school probeer ik de meeste taken uit te voeren op CentOS omdat ik Debian al voldoende ken om die taken tot een vlot einde te brengen en dan kom je inderdaad de firewall tegen bij het opzetten van bepaalde services (zoals een webserver). En ik moet zeggen dat ik dankzij de nieuwe tools die bij firewalld horen er eigenlijk veel vlotter mee weg ben dan dat ik me nog kan herinneren van vroeger met iptables gespeeld te hebben. Gebruiksgemak is dus zeker geen issue, waarschijnlijk zullen de grootste hindernissen vooral zitten bij mensen die iptables gewoon zijn en goed kennen en bijgevolg schrik hebben van verandering.
Gebruikersgemak kan wel degelijk een issue zijn. Zoals jij aangeeft ben je heel erg bekend in Debian (ik ook) en heb je wat meer moeite nodig om het een en ander uit te voeren op CentOS. Zo heb je ook mensen die blind iptables kunnen instellen en de meest complexe regels invoeren met precies het juiste resultaat. Echter wordt hun nu een nieuwe tool voorgeschoteld en omdat ze die niet kennen, is het "moeilijk" om er mee te werken en te krijgen wat ze met die ene complexe iptables regel kunnen doen.

Eigenlijk precies wat je zegt. Verandering is eng en moeilijk, terwijl de nieuwe tool juist eenvoudiger moet zijn.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:29
Blokker_1999 schreef op donderdag 05 februari 2015 @ 14:05:
waarschijnlijk zullen de grootste hindernissen vooral zitten bij mensen die iptables gewoon zijn en goed kennen en bijgevolg schrik hebben van verandering.
:)

Voor die ene CentOS-doos die ik draai heb ik weinig behoefte om firewalld gebruiken. Met iptables ben ik sneller klaar, kan ik m'n (cross distro compatible) default policy eringooien en de boel inladen. To each his own.
Hero of Time schreef op donderdag 05 februari 2015 @ 14:23:
Het direct aanroepen is EOL en als service bestaat 't bij een default installatie ook niet meer.
Het is inderdaad niet de default, en daarom niet standaard geinstalleerd. De desbetreffende systemd scripts zitten netjes in een package in base, dus ik vind er weinig EOL aan.

# yum info iptables-services
            : This package provides the services iptables and ip6tables that have been split
            : out of the base package since they are not active by default anymore.
Ook als ik kijk of er een proces met naam 'iptables' draait, is er geen resultaat.
iptables heeft geen daemon, dus dat is logisch. iptables.service is een oneshot service die enkel iptables-restore aanroept..
Eigenlijk precies wat je zegt. Verandering is eng en moeilijk, terwijl de nieuwe tool juist eenvoudiger moet zijn.
Tja, zo waren er al 1001 iptables wrappers voor firewalld, you either love 'em or hate them..

Acties:
  • 0 Henk 'm!

  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 01-10 13:40

Yzord

Ubi fumus, ibi ignis

Topicstarter
Helaas, dat heeft ook niet mogen baten...het is "bijzonder" moeilijk om OpenVPN op CentOS & Debian draaiend te krijgen op de laatste versies van beide distros. Ben er al nu 24 uur mee bezig, maar draaiend krijgen ho maar. Op Debian had ik het zover dat ik met mijn client kon connecten, maar eenmaal connectie kon ik niet meer internetten. Wel op IP, dus DNS probleem, maar wat ik ook heb geprobeerd, ik heb het niet voor elkaar gekregen. Maar we geven niet op :)

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:29
Je hebt alles gedaan wat hier staat? Dan moet het werken.

Maar als het hier niet werkt dan had die firewall onder Debian ook niet gewerkt, want je probleem ligt bij de host.

Ik snap ook niet helemaal waarom je van Debian naar CentOS switched, je probleem zal er niet spontaan door verdwijnen. Geen werkende DNS zou zomaar kunnen komen doordat je je ISPs DNS servers probeert te gebruiken door de tunnel heen. Dat werkt meestal niet.

Acties:
  • 0 Henk 'm!

  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 01-10 13:40

Yzord

Ubi fumus, ibi ignis

Topicstarter
Excuus voor de late reactie. Maar het is gelukt. Op de HN moest ik nog een hoop instellen qua modules en ook iptables moest opengezet worden.

Ik heb dus de laatste link van Thralas gevolgd, dus:
iptables -P FORWARD ACCEPT
iptables -F FORWARD
En dan:
modprobe xt_tcpudp
modprobe ip_conntrack
modprobe xt_state
Maar bij modprobe xt_tcpudp kreeg ik een error "FATAL: Module xt_tcpudp not found." dus daar een uur mee bezig geweest om er achter te komen dat het schijnbaar niet noodzakelijk was.

Toen:
vzctl set 105 --devnodes net/tun:rw --save
vzctl set 105 --devices c:10:200:rw --save
vzctl set 105 --capability net_admin:on --save
vzctl exec 105 mkdir -p /dev/net
vzctl exec 105 mknod /dev/net/tun c 10 200
vzctl exec 105 chmod 600 /dev/net/tun
Waar 105 de CTID is van de container waar je tun draaiend wilt hebben. En met deze settings alsmede de aanpassing van IPTABLES_MODULES line kon ik uiteindelijk iptables fatsoenlijk starten en de regels in iptables toevoegen die nodig zijn.

Ik kon toen connecten met mijn client aan de VPN server, maar kreeg geen internet op mijn client. Kon wel de server pingen. Dus na veel zoeken kwam ik de volgende regels tegen:
iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to-source 123.123.123.123
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 123.123.123.123

Make sure you change 123.123.123.123 to your server IP.

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -j SNAT --to-source 123.123.123.123
En toen werkte het.

Allemaal heel erg bedankt voor jullie hulp. Ik begrijp dat het not done zou zijn om door te gaan met iptables ipv firewalld, maar ik had net iptables een beetje onder de knie, dus heb persoonlijk zelf niet zoveel zin om me weer te verdiepen in firewalld op het moment. Dom? Ik denk het niet...ik denk dat als je iptables eenmaal goed onder de knie hebt, alle andere firewalls en hun opbouw makkelijker te begrijpen zijn.

Acties:
  • 0 Henk 'm!

  • DSK
  • Registratie: Februari 2001
  • Laatst online: 29-09 22:15

DSK

boeiend...

Blij dat het gelukt is :)

Firewalld is eigenlijk iptables met een schil rond. Een van de eerste zaken die wij doen op het werk is firewalld vervangen door de pure iptables. Het is nu eenmaal gemakkelijker als je veel CentOS 6 & 7 door elkaar gebruikt. Ook voor configuration management vind ik persoonlijk iptables veel eenvoudiger. Maak je dus maar geen zorgen, het blijft zeker even veilig :)

Blog (Linux-related)


Acties:
  • 0 Henk 'm!

  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 01-10 13:40

Yzord

Ubi fumus, ibi ignis

Topicstarter
Ja ik snap dat ze het wat willen moderniseren enzo, maar voor mij kwam het op een beroerd tijdstip, omdat ik net iptables onder de knie begon te krijgen. En ik ben zo'n autist dat ik het dan gewoon blijf gebruiken totdat het niet meer kan :)
Pagina: 1