forked from scipag/RIPv6
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrpipv6.sh
89 lines (75 loc) · 2.24 KB
/
rpipv6.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/bash
# -----
# Name: RPIPv6
# Copyright:
# (c) 2016-2021 Michael Schneider (scip AG)
# (c) 2021 BackInBash
# Date: 21-08-2021
# Version: 0.0.1
# -----
# -----
# Variables
# -----
count=0
cmd_ip="/sbin/ip"
cmd_awk="/usr/bin/awk"
cmd_head="/usr/bin/head"
squid_confd="/etc/squid/conf.d/"
interface="eth0"
network=$($cmd_ip -o -f inet6 addr show dev $interface | $cmd_awk '/scope global/ {print $4}' | $cmd_head -c -24)
sleeptime="30s"
# -----
# Generate Random Address
# Thx to Vladislav V. Prodan [https://gist.github.com/click0/939739]
# -----
GenerateAddress() {
array=( 1 2 3 4 5 6 7 8 9 0 a b c d e f )
a=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
b=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
c=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
d=${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}${array[$RANDOM%16]}
echo $network:$a:$b:$c:$d
}
# -----
# Run IPv6-Address-Loop
# -----
while [ 0=1 ]
do
ip1=$(GenerateAddress)
echo "[+] add ip1 $ip1"
$cmd_ip -6 addr add $ip1/64 dev $interface
echo "acl ip1 random 1/3
tcp_outgoing_address $ip1 ip1" > $squid_confd"01-random-ip1.conf"
if [[ $count > 0 ]]; then
echo "[-] del ip2 $ip2"
$cmd_ip -6 addr del $ip2/64 dev $interface
rm $squid_confd"66-random-ip2.conf" > /dev/null 2>&1
fi
/bin/systemctl reload squid
sleep $sleeptime
ip2=$(GenerateAddress)
echo "[+] add ip2 $ip2"
$cmd_ip -6 addr add $ip2/64 dev $interface
# Set IPv6 in Config
echo "acl ip2 random 1/2
tcp_outgoing_address $ip2 ip2" > $squid_confd"02-random-ip2.conf"
if [[ $count > 0 ]]; then
echo "[-] del ip3 $ip3"
$cmd_ip -6 addr del $ip3/64 dev $interface
rm $squid_confd"66-random-ip3.conf" > /dev/null 2>&1
fi
/bin/systemctl reload squid
sleep $sleeptime
ip3=$(GenerateAddress)
echo "[+] add ip3 $ip3"
$cmd_ip -6 addr add $ip3/64 dev $interface
# Set IPv6 in Config
echo "acl ip3 random 1/1
tcp_outgoing_address $ip3 ip3" > $squid_confd"03-random-ip3.conf"
echo "[-] del ip1 $ip1"
$cmd_ip -6 addr del $ip1/64 dev $interface
rm $squid_confd"66-random-ip1.conf" > /dev/null 2>&1
((count++))
/bin/systemctl reload squid
sleep $sleeptime
done