Name : BETA-TESTERS
Project name : ZW3B-API-BETA-TESTERS
Authorized. - 200 - Client API Name and Origin Wildcard OK
Firewall ICMPv6 - IPv6 : Pare-feu GNU/Linux
NdM : 2023/07/01 - Ajout de la fonction server_dns()
NdM : 2024/03/24 - Modification de la fonction ipv6_strongswan()
Je vais d'écrire comment-faire un pare-feu IPv6 - ICMPv6.
Si vous n'avez pas installé les paquets d'admin IPv6. Je vous suggère d'installer ces paquets grâce à la commande apt install iputils-ping dnsutils net-tools whois ipv6toolkit thc-ipv6 ipv6pref
qui sont logiciels/commandes réseaux IPv6.
Stephane Huc a changé son nom de domaine - Le nouveau est : http://doc.huc.fr.eu.org
Il nous avait envoyé un tutoriel sur comment filtrer les paquets ICMPv6 depuis IPtables pour les requetes des routeurs.
Je vous ai concocté un script firewall-ipv6.sh
ici avec quelques lignes supplémentaires comme le forward entre les cartes et autres :
J'ai ajouté une protection à 1 ping/seconde par adresse IPv6::/128 (function icmpv6_limit
(ligne 155)) (--icmpv6-type 128/0
) de Stéphane Bortzmeyer :) qui fait qu'au dessus de 1 ping par seconde (ICMPv6 echo-request) on DROP l'explosion de PING, d'une seule IPv6 source (--hashlimit-srcmask 128
).
NdMoi-même : Il faut lancer/executer la fonction en dessous de (pour qu'elle soit lancer après) la fonction icmpv6_huc
pour que la règle ip6tables -I INPUT -p icmpv6 ... -j DROP
soit au dessus de la chaîne aICMPs ;)
Il faut autoriser les echo-request
et echo-reply
en -j ACCEPT
dans la chaine aICMPs
de Stéphane Huc sinon on est limité(e) à un ping par seconde pour tout le monde qui pourait pinguer l'IPv6 (la même adresse IPv6).
Puis c'est OKay çà PING et çà DROP comme on veut - De la machine elle-même et de l'extérieur ;)
Script avec 474 lignes
001#!/bin/bash 002### BEGIN INIT INFO 003# Provides: firewall-ipv6 004# Required-Start: $remote_fs $syslog 005# Required-Stop: $remote_fs $syslog 006# Default-Start: 2 3 4 5 007# Default-Stop: 0 1 6 008# Short-Description: Start daemon at boot time 009# Description: Enable service provided by daemon. 010### END INIT INFO 011#####-------------------------- VARIABLES ----------------------------###### 012 013# chemin commande iptables 014IP6TABLE="/sbin/ip6tables" 015 016# interface reseau 017LOOP_IF="lo" 018 019#WAN_IP="2607:5300:60:9389::1" 020 021WAN_IF="vmbr0" 022VM1_IF="vmbr1" 023 024# Network and IPs 025SUBNETPREFIX="2607:5300:0060:9389::/64" 026 027# port du service ssh 028port_ssh="22" 029 030# port du service rsync 031port_rsync="873" 032 033# ports tcp et udp a ouvrir 034TCP_OK="514 4949" # SYSLOG MUNIN 035UDP_OK="123 161 514 547" # NTP SNMP SYSLOG DHCP 036 037# ip qui ont acces en ssh au serveur 038SSH_OK="2001:0bc8:25bb:ff00::/56" 039 040# ip accedant au serveur en rsync 041RSYNC_OK="2001:0bc8:25bb:ff00::/56" 042 043##### 044# on fixe les sysctl 045##### 046function kernel() 047{ 048 # Don't accept source routed packets. 049 /bin/echo "0" > /proc/sys/net/ipv6/conf/all/accept_source_route 050 051 # Disable ICMP redirect acceptance. 052 /bin/echo "0" > /proc/sys/net/ipv6/conf/all/accept_redirects 053 054 # Enable the following lines only if a router! 055 # Enabling IPv6 forwarding disables route-advertisement reception - accept_ra=0|2 056 # A static gateway will need to be assigned. 057 # 058 echo "1" > /proc/sys/net/ipv6/conf/all/forwarding 059 # 060 #End router forwarding rules 061 062 echo " "+ KERNEL : [OK] 063} 064 065##### 066# on accepte tout de et pour "lo" local 067##### 068 069function loopback() 070{ 071 $IP6TABLE -A INPUT -i lo -j ACCEPT 072 $IP6TABLE -A FORWARD -i lo -j ACCEPT 073 $IP6TABLE -A FORWARD -o lo -j ACCEPT 074 $IP6TABLE -A OUTPUT -o lo -j ACCEPT 075 076 echo " "+ LOOPBACK : [OK] 077} 078 079##### 080# on fixe les regles general (DROP||ACCEPT) 081##### 082 083function policy() 084{ 085 $IP6TABLE -P INPUT $1 086 $IP6TABLE -P FORWARD $1 087 $IP6TABLE -P OUTPUT $1 088 089 echo " "+ POLICY $1 : [OK] 090} 091 092##### 093# ACCEPT LES REQUETES DEMANDEES 094##### 095 096function generique() 097{ 098 # Allow anything out on the internet 099 $IP6TABLE -A OUTPUT -o $WAN_IF -j ACCEPT 100 # Allow established, related packets back in 101 $IP6TABLE -A INPUT -i $WAN_IF -m state --state ESTABLISHED,RELATED -j ACCEPT 102 103 echo " "+ GENERIQUE : [OK] 104} 105 106##### 107# on fixe les regles des adresses IPv6 108##### 109 110function ipv6_link_multicast() 111{ 112 echo " |"; 113 echo " + IPv6 - Addrs Link-Local Unicast and Multicast -----------------------"; 114 115 # Allow Link-Local addresses 116 # network range : fe80:0000:0000:0000:0000:0000:0000:0000-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff 117 118 echo " |"; 119 $IP6TABLE -A INPUT -s fe80::/10 -j ACCEPT 120 $IP6TABLE -A FORWARD -s fe80::/10 -d fe80::/10 -j ACCEPT 121 $IP6TABLE -A OUTPUT -d fe80::/10 -j ACCEPT 122 echo " +---> "fe80::/10 : ACCEPT; 123 echo " |"; 124 echo " "+ IPv6 - Addrs Link-Local : [OK] 125 126 # Allow multicast 127 # network range : ff00:0000:0000:0000:0000:0000:0000:0000-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 128 129 echo " |"; 130 $IP6TABLE -A INPUT -d ff00::/8 -j ACCEPT 131 $IP6TABLE -A FORWARD -s ff00::/8 -d ff00::/8 -j ACCEPT 132 $IP6TABLE -A OUTPUT -d ff00::/8 -j ACCEPT 133 echo " +---> "ff00::/8 : ACCEPT; 134 echo " |"; 135 echo " "+ IPv6 - Addrs Multicast : [OK] 136} 137 138##### 139# on fixe les regles des adresses IPv6 secure (VPN/strongSwan) 140##### 141 142function ipv6_strongswan() 143{ 144 # Default ------------------ 145 echo " |"; 146 echo " + IPv6 - Addrs Site-Local Secure Area Network -------------------------"; 147 148 # Allow Secure Area Network addresses 149 # network range : fec0:0000:0000:0000:0000:0000:0000:0000-feff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 150 151 echo " |"; 152 $IP6TABLE -A INPUT -s fec0::/10 -j ACCEPT 153 $IP6TABLE -A FORWARD -s fec0::/10 -d fec0::/10 -j ACCEPT 154 $IP6TABLE -A OUTPUT -d fec0::/10 -j ACCEPT 155 echo " +---> "fec0::/10 : ACCEPT; 156 #echo " |"; 157 #echo " "+ IPv6 - Addrs Secure Area Network : [OK] 158 159 # Add ------------------ 160 # Allow Forwarding SLAN (fec0::/10) <> ULA (fc00::/7) 161 # network range : fc00:0000:0000:0000:0000:0000:0000:0000-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 162 163 echo " |"; 164 $IP6TABLE -A FORWARD -s fec0::/10 -d fc00::/7 -j ACCEPT 165 $IP6TABLE -A FORWARD -d fec0::/10 -s fc00::/7 -j ACCEPT 166 echo " +---> fec0::/10 <-> fc00::/7 : ACCEPT"; 167 echo " |"; 168 echo " "+ IPv6 - Addrs Secure Area Network : [OK] 169} 170 171##### 172# On laisse passer les requetes ICMPv6 173##### 174 175function icmpv6_generique() 176{ 177 $IP6TABLE -I INPUT -p icmpv6 -j ACCEPT 178 $IP6TABLE -I FORWARD -p icmpv6 -j ACCEPT 179 $IP6TABLE -I OUTPUT -p icmpv6 -j ACCEPT 180 181 echo " "+ ICMPV6 - ACCEPT : [OK] 182} 183 184#### 185# La regle de Stephane Bortzmeyer DROP ICMP LIMIT 1/sec par IPv6::/128 186# A envoyer apres la chaine aICMPv6 (pour qu'elle soit au dessus -I) 187#### 188 189function icmpv6_limit() 190{ 191 # Au dessus de 1 ping par seconde (ICMPv6 echo-request) on DROP l'explosion PING d'une seule source IPv6 (masque 128) 192 $IP6TABLE -I INPUT -p icmpv6 --icmpv6-type 128/0 -m hashlimit --hashlimit-name ICMP --hashlimit-above 1/second --hashlimit-burst 1 --hashlimit-mode srcip --hashlimit-srcmask 128 -j DROP 193 194 echo " "+ ICMPV6 - LIMIT 1/second DROP : [OK] 195} 196 197 198##### 199# Le script de Stephane Huc 200##### 201 202function icmpv6_huc() 203{ 204 # Allow dedicated ICMPv6 packettypes, do this in an extra chain because we need it everywhere 205 $IP6TABLE -N aICMPs 206 207 # Destination unreachable 208 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 1 -j ACCEPT # destination-unreachable; Must Not Be Dropped 209 210 # Packet too big 211 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 2/0 -j ACCEPT # packet too big; Must Not Be Dropped 212 213 # Time exceeded 214 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 3/0 -j ACCEPT # time exceeded 215 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 3/1 -j ACCEPT # time exceeded 216 217 # Parameter problem 218 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 4/0 -j ACCEPT # parameter pb: Erroneous header field encountered 219 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 4/1 -j ACCEPT # parameter pb: Unrecognized Next Header Type encountered 220 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 4/2 -j ACCEPT # parameter pb: Unrecognized IPv6 option encountered 221 222 # Echo Request (protect against flood) 223 # Commenter cette ligne 224# $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 128/0 -m limit --limit 1/sec --limit-burst 1 -j ACCEPT # ping tool: echo request message 225 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 128/0 -j ACCEPT 226 227 # Echo Reply 228 # Commenter cette ligne 229# $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 129/0 -m limit --limit 5/sec --limit-burst 10 -j ACCEPT # ping tool: echo reply message 230 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 128/0 -j ACCEPT 231 232 echo " "+ ICMPV6 - DEFAULT : [OK] 233 234 # link-local multicast receive notification mssg (need link-local src address, with hop-limit: 1) 235 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 130/0 -s fe80::/64 -m conntrack --ctstate NEW -m hl --hl-eq 1 -j ACCEPT 236 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 131/0 -s fe80::/64 -m conntrack --ctstate NEW -m hl --hl-eq 1 -j ACCEPT 237 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 132/0 -s fe80::/64 -m conntrack --ctstate NEW -m hl --hl-eq 1 -j ACCEPT 238 echo " "+ ICMPV6 - LINK-LOCAL : [OK] 239 240 # address configuration and routeur selection mssg (received with hop limit = 255) 241 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 133/0 -m hl --hl-eq 255 -j ACCEPT # Router Solicitation 242 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 134/0 -s fe80::/64 -m hl --hl-eq 255 -j ACCEPT # Router Advertisement 243 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255 -j ACCEPT # Neighbor Solicitation 244 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255 -j ACCEPT # Neighbor Advertisement 245 246 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 137/0 -j DROP # Redirect Message 247 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 138/0 -j DROP # Router Renumbering (Rechargement du routeur) 248 249 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 139/0 -j DROP # ICMP Node Information Query 250 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 140/0 -j DROP # ICMP Node Information Response 251 252 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 141/0 -d ff02::1 -m hl --hl-eq 255 -j ACCEPT # Inverse Neighbor Discovery Solicitation Message 253 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 142/0 -m hl --hl-eq 255 -j ACCEPT # Inverse Neighbor Discovery Advertisement Message 254 echo " "+ ICMPV6 - ADD CONF '&' ROUT€ SELECTION : [OK] 255 256 # link-local multicast receive notification mssg (need link-local src address, with hop-limit: 1) 257 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 143 -s fe80::/64 -m conntrack --ctstate NEW -m hl --hl-eq 1 -j ACCEPT 258 259 # needed for mobylity 260 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 144/0 -j DROP 261 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 145/0 -j DROP 262 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 146/0 -j DROP 263 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 147 -j DROP 264 265 # SEND certificate path notification mssg (received with hop limit = 255) 266 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 148 -m hl --hl-eq 255 -j ACCEPT # Certification Path Solicitation Message 267 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 149 -m hl --hl-eq 255 -j ACCEPT # Certification Path Advertisement Message 268 269 # multicast routeur discovery mssg (need link-local src address and hop limit = 1) 270 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 151 -s fe80::/64 -m conntrack --ctstate NEW -m hl --hl-eq 1 -j ACCEPT 271 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 152 -s fe80::/64 -m conntrack --ctstate NEW -m hl --hl-eq 1 -j ACCEPT 272 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 153 -s fe80::/64 -m conntrack --ctstate NEW -m hl --hl-eq 1 -j ACCEPT 273 echo " "+ ICMPV6 - MULTICAST ROUT€ DISCOVERY : [OK] 274 275 # 276 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 200 -j DROP # private experimentation 277 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 201 -j DROP # private experimentation 278 $IP6TABLE -A aICMPs -p icmpv6 --icmpv6-type 255 -j DROP # expansion error messages ICMPv6 279 echo " "+ ICMPV6 - EXPERIMENTATION : [OK] 280 281 # Only the ROUT€ is allowed to ping us (read FAQ this is a requirement) 282 #$IP6TABLE -A INPUT -p icmpv6 -m limit --limit 5/s --limit-burst 4 -j aICMPs 283 #$IP6TABLE -A OUTPUT -m state ! --state INVALID -j aICMPs 284 285 $IP6TABLE -I INPUT -p icmpv6 -j aICMPs 286 $IP6TABLE -I FORWARD -p icmpv6 -j aICMPs 287 $IP6TABLE -I OUTPUT -p icmpv6 -j aICMPs 288 289 echo " "+ ICMPV6 - INLIMIT + OUTPUT : [OK] 290} 291 292##### 293# FORWARDING entre les cartes (vmbr0 <-> vmbr1) 294##### 295 296function ipv6_forwarding() 297{ 298 # Allow forwarding 299 $IP6TABLE -A FORWARD -m state --state NEW -i $VM1_IF -o $WAN_IF -s $SUBNETPREFIX -j ACCEPT 300 $IP6TABLE -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 301 302# $IP6TABLE -A FORWARD -i $VM1_IF -o $WAN_IF -j ACCEPT 303# $IP6TABLE -A FORWARD -o $VM1_IF -i $WAN_IF -j ACCEPT 304 305 echo " "+ IPv6 - FORWARDING : [OK] 306} 307 308##### 309# ouverture des acces SSH a certaines IP 310##### 311 312function ssh_ok() 313{ 314 for host in $SSH_OK 315 do 316 $IP6TABLE -A INPUT -s $host -p tcp --dport $port_ssh -j ACCEPT 317 $IP6TABLE -A OUTPUT -d $host -p tcp --sport $port_ssh -j ACCEPT 318 done 319 320 $IP6TABLE -A INPUT -p tcp --dport $port_ssh -m state --state NEW -m recent --set --name SSH 321 $IP6TABLE -A INPUT -p tcp --dport $port_ssh -m recent --update --seconds 60 --hitcount 3 --rttl --name SSH -j DROP 322 $IP6TABLE -A INPUT -p tcp --dport $port_ssh -j ACCEPT 323 324 echo " "+ SSH : [OK] 325} 326 327##### 328# ouverture des acces RSYNC a certaines IP 329##### 330 331function rsync_ok() 332{ 333 for host in $RSYNC_OK 334 do 335 $IP6TABLE -A INPUT -s $host -p tcp --dport $port_rsync -j ACCEPT 336 $IP6TABLE -A OUTPUT -d $host -p tcp --sport $port_rsync -j ACCEPT 337 done 338 339 echo " "+ RSYNC : [OK] 340} 341 342##### 343# ouverture des ports tcp et upd 344##### 345 346function tcp_ok() 347{ 348 for port in $TCP_OK 349 do 350 $IP6TABLE -A INPUT -p tcp --dport $port -j ACCEPT 351 $IP6TABLE -A OUTPUT -p tcp --sport $port -j ACCEPT 352 done 353 354 echo " "+ TCP : [OK] 355} 356 357function udp_ok() 358{ 359 for port in $UDP_OK 360 do 361 $IP6TABLE -A INPUT -p udp --dport $port -j ACCEPT 362 $IP6TABLE -A OUTPUT -p udp --sport $port -j ACCEPT 363 done 364 365 echo " "+ UDP : [OK] 366} 367 368##### 369# ouverture des acces HTTP(S) a linterface LAN & NET 370##### 371 372function server_http() 373{ 374 # on a 1 seule IPv6::/128 UNICAST GLOBAL (VPS) --> on a donc fait un network ULA for les containers 375# CT_WEB="fc01:5300:60:9389:15:1:a:10" 376 377 HTTP_PORTS="80 443" 378 for port in $HTTP_PORTS 379 do 380 # SOIT le service est sur LHOTE SOIT dans un VServer 381 $IP6TABLE -A INPUT -m state --state NEW -m tcp -p tcp --dport $port -j ACCEPT 382# $IP6TABLE -A INPUT -p tcp --dport $port -j ACCEPT 383# $IP6TABLE -A OUTPUT -p tcp --sport $port -j ACCEPT 384 $IP6TABLE -A OUTPUT -m state --state ESTABLISHED,RELATED -m tcp -p tcp --sport $port -j ACCEPT 385 # le server Web est sur une autre machine, une container ou une machine locale 386 # on a 1 seule IPv6::/128 UNICAST GLOBAL (VPS) --> on a donc fait un network ULA for les containers 387# $IP6TABLE -t nat -A PREROUTING -d $WAN_IP -p tcp --dport $port -j DNAT --to-destination [$CT_WEB]:$port 388 done 389 echo " "+ APACHE : [OK] 390} 391 392##### 393# ouverture des acces DNS(S) a linterface NET 394##### 395 396function server_dns() 397{ 398 399 DNS_PORTS_TCP="53" 400 for port in $DNS_PORTS_TCP 401 do 402 # SOIT le service est sur LHOTE SOIT dans un VServer 403 $IP6TABLE -A INPUT -m state --state NEW -m tcp -p tcp --dport $port -j ACCEPT 404 $IP6TABLE -A INPUT -i $WAN_IF -p tcp --dport $port -m hashlimit --hashlimit-name NAMED --hashlimit-above 20/second --hashlimit-mode srcip --hashlimit-burst 20 --hashlimit-srcmask 128 -j DROP 405 $IP6TABLE -A OUTPUT -m state --state ESTABLISHED,RELATED -m tcp -p tcp --sport $port -j ACCEPT 406 $IP6TABLE -A OUTPUT -p tcp --sport $port -j LOG --log-prefix "OUTPUT-T-NAMED:" 407 done 408 409 DNS_PORTS_UDP="53" 410 for port in $DNS_PORTS_UDP 411 do 412 # SOIT le service est sur LHOTE SOIT dans un VServer 413 $IP6TABLE -A INPUT -i $WAN_IF -p udp --dport $port -m state --state NEW -m recent --set --name NAMED 414 $IP6TABLE -A INPUT -i $WAN_IF -p udp --dport $port -m recent --update --seconds 60 --hitcount 10 --rttl --name NAMED -j DROP 415 $IP6TABLE -A OUTPUT -m state --state ESTABLISHED,RELATED -m udp -p udp --sport $port -j ACCEPT 416 $IP6TABLE -A OUTPUT -p udp --sport $port -j LOG --log-prefix "OUTPUT-U-NAMED:" 417 done 418 419 echo " "+ DNS : [OK] 420} 421 422 423 424#####-------------------------- START / STOP ----------------------------###### 425case "$1" in 426 427start|restart) 428$0 stop 429echo "$0 Starting" 430 kernel 431 loopback 432 433 generique 434 435# icmpv6_generique 436 icmpv6_huc 437 icmpv6_limit 438 439 ipv6_link_multicast 440 ipv6_strongswan 441 ipv6_forwarding 442 443 ssh_ok 444 rsync_ok 445 tcp_ok 446 udp_ok 447 448 server_http 449 server_dns 450 451 policy DROP 452;; 453 454stop) 455 echo "$0 Stop" 456 $IP6TABLE -F 457 $IPTABLE -t nat -F 458 $IP6TABLE -Z 459 $IP6TABLE -X 460 policy ACCEPT 461 ;; 462status) 463 echo "$0 Status" 464 $IP6TABLE -L -vn 465 $IP6TABLE -L -vn -t nat 466 ;; 467 468*) 469echo "usage : $0 (status|start|stop|restart)" 470;; 471 472esac 473 474#####-------------------------- START / STOP ----------------------------######
Pour le rendre executable pour l'utilisateur : chmod u+x firewall-ipv6.sh
:
Pour executer le script : sh firewall-ipv6.sh (status|start|stop|restart)
Activer le firewall au démarage et à l'arrêt de la machine : Runlevels de l'init(ialisation) # Default-Start : 2 3 4 5 # Default-Stop : 0 1 6
.
Script avec 2 lignes
001ln -s /root/firewall-ipv6.sh /etc/init.d/firewall-ipv6 002update-rc.d firewall-ipv6 defaultsPuis aprés vous pouvez lancer le script en executant
/etc/init.d/firewall-ipv6 (status|start|stop|restart)
J'ajoute 2 commandes qui peuvent être utile :) et qui peuvent servir pour NuFW .
Script avec 1 ligne
001ip6tables-save > /etc/firewall-ipv6.conf
Script avec 1 ligne
001ip6tables-restore < /etc/firewall-ipv6.conf
Chain INPUT, FORWARD, OUTPUT, aICMPs.
Script avec 5 lignes
001ip6tables -L -vn 002ip6tables -L INPUT -vn 003ip6tables -L FORWARD -vn 004ip6tables -L OUTPUT -vn 005ip6tables -L aICMPs -vn
La table NAT (Network Translation Address) - çà existe ;) ^^ :
Script avec 1 ligne
001ip6tables -L -vn -t nat
Cordialement,
Romain