mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-31 13:00:49 +00:00
Fix some neats, add IPv6 basic testing in LAN
This commit is contained in:
1 parent
6b589b6900
commit
2006f8302a
11 files changed
+157
-89
No files matched your search
+31
-14
@@ -1,10 +1,14 @@
|
||||
#!/bin/sh
|
||||
# Use separate addresses for gateway, DHCP, and host, in order to force using ARP and ND
|
||||
BRIDGE=mg_bridge0
|
||||
BRIDGE_BROADCAST=192.168.32.255
|
||||
BRIDGE_IP=192.168.32.1
|
||||
BRIDGE_IP=192.168.32.2
|
||||
BRIDGE_NETWORK=192.168.32.0/24
|
||||
BRIDGE_MASK=255.255.255.0
|
||||
BRIDGE_IPV6=fe80::01ff:fe02:0301
|
||||
GATEWAY_IP=192.168.32.1 # dhcp.conf serves 192.168.32.1 as gateway
|
||||
HOST_IP=192.168.32.3
|
||||
BRIDGE_IPV6=fe80::01ff:fe02:0301 # radvd.conf uses this address as its own
|
||||
HOST_IPV6=fe80::01ff:fe02:0303
|
||||
# Host outside network interface is 'eth0'
|
||||
TAP=tap0
|
||||
|
||||
@@ -14,20 +18,26 @@ timeout 1s ifconfig
|
||||
timeout 1s sudo route -n # see our gateway
|
||||
timeout 1s bridge link
|
||||
timeout 1s bridge fdb
|
||||
timeout 1s sudo ip -6 route show
|
||||
echo
|
||||
|
||||
# Package installation
|
||||
echo "Package installation"
|
||||
sudo apt-get -y install isc-dhcp-server net-tools
|
||||
# sudo apt-get -y install build-essential sshpassecho "Network configuration script: Bridge"
|
||||
sudo apt-get -y install isc-dhcp-server net-tools radvd
|
||||
sudo systemctl stop radvd # just in case they think it is cool to start it
|
||||
# sudo apt-get -y install build-essential sshpass
|
||||
echo
|
||||
|
||||
echo "Network configuration script: Bridge"
|
||||
sudo ip link add $BRIDGE type bridge # Create brige
|
||||
sudo ifconfig $BRIDGE $BRIDGE_IP netmask $BRIDGE_MASK up
|
||||
sudo ifconfig $BRIDGE:1 $GATEWAY_IP netmask $BRIDGE_MASK up
|
||||
sudo ifconfig $BRIDGE:2 $HOST_IP netmask $BRIDGE_MASK up
|
||||
sudo ip -6 addr add $BRIDGE_IPV6/64 dev $BRIDGE
|
||||
sudo ip -6 addr add $HOST_IPV6/64 dev $BRIDGE:1
|
||||
echo
|
||||
|
||||
echo "Network configuration script: TAP"
|
||||
sudo ip link add $BRIDGE type bridge # Create brige
|
||||
sudo ifconfig $BRIDGE $BRIDGE_IP netmask $BRIDGE_MASK up
|
||||
sudo ip -6 addr add $BRIDGE_IPV6/64 dev $BRIDGE
|
||||
echo
|
||||
|
||||
echo "Create $TAP attached to $BRIDGE"
|
||||
sudo ip tuntap add dev $TAP mode tap # Create tuntap
|
||||
sudo ip link set $TAP master $BRIDGE # Link tap-bridge
|
||||
@@ -51,12 +61,11 @@ echo
|
||||
HOST_IFC=$BRIDGE
|
||||
export HOST_IFC
|
||||
echo "Host inside network interface is $BRIDGE"
|
||||
echo
|
||||
|
||||
# Setup DHCP server
|
||||
echo "Network configuration script: DHCP server"
|
||||
echo "Serving from $BRIDGE_IP"
|
||||
HOST_IP=$BRIDGE_IP
|
||||
export HOST_IP
|
||||
echo "Serving from $BRIDGE_IP, gateway should be $GATEWAY_IP"
|
||||
echo "dhcpd.conf:"
|
||||
cat test/dhcpd.conf
|
||||
echo
|
||||
@@ -64,9 +73,14 @@ sudo cp test/dhcpd.conf /etc/dhcp/dhcpd.conf
|
||||
sudo chmod a+w /var/lib/dhcp/*
|
||||
sudo dhcpd mg_bridge0 &
|
||||
echo
|
||||
HOST_IPV6=$BRIDGE_IPV6
|
||||
echo "radvd listening at $BRIDGE_IPV6"
|
||||
sudo ip link set $BRIDGE up # there's no physical port, so we need to set link up for radvd to work
|
||||
sudo radvd -n -d 5 -C test/radvd.conf &
|
||||
echo
|
||||
echo "Host listening at $HOST_IP and $HOST_IPV6"
|
||||
export HOST_IP
|
||||
export HOST_IPV6
|
||||
echo "Listening at $BRIDGE_IPV6"
|
||||
echo
|
||||
|
||||
# Do we have connectivity ?
|
||||
echo "Check connectivity:"
|
||||
@@ -74,6 +88,8 @@ wget https://cesanta.com/robots.txt
|
||||
echo robots.txt:
|
||||
cat robots.txt
|
||||
rm robots.txt
|
||||
wget https://ipv6.google.com/
|
||||
rm index.html
|
||||
echo
|
||||
|
||||
# Confirm OK
|
||||
@@ -82,3 +98,4 @@ timeout 1s ifconfig
|
||||
timeout 1s sudo route -n
|
||||
timeout 1s bridge fdb
|
||||
timeout 1s bridge link
|
||||
timeout 1s sudo ip -6 route show
|
||||
Reference in new issue
Block a user