blob: 7639a6e4e241a9e8cffc2a5892ef1cdd9071136c (
plain) (
blame)
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
|
#!/bin/sh
# net.sh
# Sets up a bridged network specifically for use on a laptop or workstation.
# Called by `/etc/rc.local` on my Void Linux machine
bridges="vbr0 br0"
br0_ifs="enp2s0"
# vbr0_ifs=""
vbr0_inet="10.33.33.1/24"
vbr0_inet6="fc00:333::1/64"
assign_inet_for_if() {
_if="$1" ; shift
eval _inet="\$${_if}_inet"
for addr in $_inet ; do
ip -4 addr add $addr dev $br
done
}
assign_inet6_for_if() {
_if="$1" ; shift
eval _inet="\$${_if}_inet6"
for addr in $_inet ; do
ip -6 addr add $addr dev $br
done
}
for br in $bridges ; do
brctl addbr $br
ip link set up "$br"
eval _ifs="\$${br}_ifs"
for _if in $_ifs ; do
brctl addif "$br" "$_if"
ip link set up "$_if"
done
assign_inet_for_if "${br}"
assign_inet6_for_if "${br}"
done
for _if in $_ifs ; do
assign_inet_for_if "$_if"
assign_inet6_for_if "$_if"
ip link set up "$_if"
done
|