Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
V
VRES-namespaces
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
romain.moscheni
VRES-namespaces
Commits
a99fb3a0
Commit
a99fb3a0
authored
1 month ago
by
Romain.Moscheni
Browse files
Options
Downloads
Patches
Plain Diff
Initial commit
parents
Branches
main
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
part1.sh
+40
-0
40 additions, 0 deletions
part1.sh
part2.sh
+62
-0
62 additions, 0 deletions
part2.sh
part3.sh
+80
-0
80 additions, 0 deletions
part3.sh
part4.sh
+98
-0
98 additions, 0 deletions
part4.sh
with
280 additions
and
0 deletions
part1.sh
0 → 100644
+
40
−
0
View file @
a99fb3a0
#/bin/bash
ssh R1
<<
'
EOF
'
apt update && apt install -y tcpdump
echo 1 > /proc/sys/net/ipv4/ip_forward
dhclient -v eth0
ip addr add 10.0.0.1/24 dev eth1
ip link set eth1 up
cat > /root/nat.nft << 'ENDNAT'
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain masq {
type nat hook postrouting priority 100;
oifname "eth0" counter masquerade
}
}
ENDNAT
nft -f /root/nat.nft
EOF
ssh H1
<<
'
EOF
'
apt update && install -y tcpdump
ip addr add 10.0.0.2/24 dev eth0
ip link set eth0 up
ip route add default via 10.0.0.1 dev eth0
EOF
This diff is collapsed.
Click to expand it.
part2.sh
0 → 100644
+
62
−
0
View file @
a99fb3a0
#!/bin/bash
ssh R1
<<
'
EOF
'
set -e
ip netns del ns2 2>/dev/null || true
ip link del veth0 2>/dev/null || true
ip link del veth1 2>/dev/null || true
ip netns add ns2
ip link add veth1 type veth peer name veth1-ns
ip link add veth0 type veth peer name veth0-ns
ip link set veth1-ns netns ns2
ip link set veth0-ns netns ns2
ip link set veth1 up
ip link set veth0 up
ip netns exec ns2 ip link set lo up
ip netns exec ns2 ip link set veth1-ns name veth1
ip netns exec ns2 ip link set veth0-ns name veth0
ip netns exec ns2 ip link set veth1 up
ip netns exec ns2 ip link set veth0 up
ip addr add 192.168.1.1/24 dev veth1
ip netns exec ns2 ip addr add 192.168.1.2/24 dev veth1
ip addr add 192.168.0.1/24 dev veth0
ip netns exec ns2 ip addr add 192.168.0.2/24 dev veth0
ip netns exec ns2 echo 1 > /proc/sys/net/ipv4/ip_forward
ip netns exec ns2 bash -c cat > /root/nat-r2.nft << 'ENDNAT'
flush ruleset
table ip nat {
chain masq {
type nat hook postrouting priority 100;
oifname "veth0" counter masquerade
}
}
ENDNAT
nft -f /root/nat-r2.nft
ip netns exec ns2 ip route add 10.0.0.0/24 via 192.168.1.1
ip netns exec ns2 ip route add default via 192.168.0.1
ip route delete default || true
ip route add default via 192.168.1.1
echo 100 custom >> /etc/iproute2/rt_tables
ip rule add iif veth0 table custom
ip route add default via 172.21.1.1 table custom
EOF
This diff is collapsed.
Click to expand it.
part3.sh
0 → 100644
+
80
−
0
View file @
a99fb3a0
#!/bin/bash
ssh H1
<<
'
EOF
'
set -e
ip addr flush dev eth0
ip addr add 10.0.0.2/24 dev eth0
ip link set eth0 up
ip route del default 2>/dev/null || true
ip route add default via 10.0.0.254
EOF
ssh R1
<<
'
EOF
'
set -e
ip netns del ns2 2>/dev/null || true
ip link del br0 2>/dev/null || true
ip link del br1 2>/dev/null || true
ip link del veth1 2>/dev/null || true
ip link del veth0 2>/dev/null || true
nft flush ruleset 2>/dev/null || true
ip link add br0 type bridge
ip link set br0 up
ip link add br1 type bridge
ip link set br1 up
ip link add veth0 type veth peer name veth0-ns
ip link add veth1 type veth peer name veth1-ns
ip netns add ns2
ip link set veth0-ns netns ns2
ip link set veth1-ns netns ns2
ip link set eth0 up
ip link set eth0 master br0
ip link set eth1 up
ip link set eth1 master br1
ip link set veth0 up
ip link set veth0 master br0
ip link set veth1 up
ip link set veth1 master br1
ip netns exec ns2 ip link set veth0-ns name eth0
ip netns exec ns2 ip link set eth0 up
ip netns exec ns2 ip link set veth1-ns name eth1
ip netns exec ns2 ip link set eth1 up
ip addr add 172.21.1.100/24 dev br0
ip addr add 10.0.0.254/24 dev br1
ip netns exec ns2 echo 1 > /proc/sys/net/ipv4/ip_forward
ip route del default via 172.21.1.1 dev br0 2>/dev/null || true
ip route add default via 172.21.1.1 dev br0
ip netns exec ns2 bash -c cat > /root/nat-r2.nft << 'ENDNFT'
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain masq {
type nat hook postrouting priority 100;
oifname "br0" counter masquerade
}
}
ENDNFT
nft -f /root/nat-r2.nft
EOF
\ No newline at end of file
This diff is collapsed.
Click to expand it.
part4.sh
0 → 100644
+
98
−
0
View file @
a99fb3a0
#!/bin/bash
ssh
-tt
H1
<<
'
EOF
'
set -e
ip addr flush dev eth0
ip addr add 10.0.0.2/24 dev eth0
ip link set eth0 up
ip route del default 2>/dev/null || true
ip route add default via 10.0.0.254
EOF
ssh
-tt
R1
<<
'
EOF
'
set -e
ip netns add ns2
ip netns add ns3
ip link add br0 type bridge
ip link set br0 up
ip link add br1 type bridge
ip link set br1 up
ip addr add 172.21.1.100/24 dev br0
ip addr add 10.0.0.254/24 dev br1
ip link set eth1 up
ip link set eth1 master br1
ip link set eth0 up
ip link set eth0 master br0
ip link add veth0-r1 type veth peer name veth0-ns2
ip link add veth1-r1 type veth peer name veth0-ns3
ip link add veth1-ns2 type veth peer name veth1-ns3
ip link set veth0-r1 up
ip link set veth0-r1 master br0
ip link set veth1-r1 up
ip link set veth1-r1 master br1
ip link set veth0-ns2 netns ns2
ip link set veth1-ns2 netns ns2
ip link set veth0-ns3 netns ns3
ip link set veth1-ns3 netns ns3
# -----------------------------------------------
ip netns exec ns3 ip link set veth0-ns3 name eth0
ip netns exec ns3 ip link set veth1-ns3 name eth1
ip netns exec ns3 ip link set eth0 up
ip netns exec ns3 ip link set eth1 up
ip netns exec ns3 ip addr add 192.168.32.2/24 dev eth1
ip netns exec ns3 ip addr add 10.0.0.254/24 dev eth0
ip netns exec ns3 ip route add default via 192.168.32.1 dev eth1
# ------------------------------------------------
ip netns exec ns2 ip link set veth0-ns2 name eth0
ip netns exec ns2 ip link set veth1-ns2 name eth1
ip netns exec ns2 ip link set eth0 up
ip netns exec ns2 ip link set eth1 up
ip netns exec ns2 ip addr add 192.168.32.1/24 dev eth1
ip netns exec ns2 ip addr add 172.21.1.100/24 dev eth0
ip netns exec ns2 ip route add 10.0.0.0/24 via 192.168.32.2 dev eth1
ip netns exec ns2 ip route add default via 172.21.1.1 dev eth0
# --------------------------------------------------
ip netns exec ns2 echo 1 > /proc/sys/net/ipv4/ip_forward
ip netns exec ns3 echo 1 > /proc/sys/net/ipv4/ip_forward
ip netns exec ns2 bash -c cat > /root/nat-r2.nft << 'ENDNFT'
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain masq {
type nat hook postrouting priority 100;
oifname "br0" counter masquerade
}
}
ENDNFT
nft -f /root/nat-r2.nft
EOF
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment