| virtual NIC over USB created by BMC FW, says AMI MegaRAC | |
| <==> | ip forward and iptables |
bwan=eth0
blan=usb0
bwanip=`nicip $bwan`
blanip=`nicip $blan`
hosti=`{ i=${blanip%/*}; [ ${i##*.} = 1 ] && j=2 || j=1; echo ${i%.*}.$j; }`
iptables -t nat -A POSTROUTING -o $bwan -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
ip a a $bwani0/${bwanip#*/} dev $bwan
iptables -t nat -A POSTROUTING -j SNAT -s $hosti --to $bwani0
iptables -t nat -A PREROUTING -j DNAT -d $bwani0 --to $hosti
msk2d() { echo $((2**32-2**(32-${1#*/}))); }
dom2d() { echo $((`ipa2d $1` & `msk2d $1`)); }
[ `dom2d $bwanip` = `dom2d $bwani0/${bwanip#*/}` ] || echo different domain
n=${1#*/} s=
for i in 0 1 2 3; do d=8; [ $n -lt 8 ] && d=$n; s=$s$((256-2**(8-d))).; n=$((n-d)); done
echo ${s%.}
}
prefix2addr $blanip
| name | value | notes |
| nic | eth0 | NIC name in UEFI, could be different in OS |
| ip | 169.254.0.1 | host IP address, refer to $hosti in BMC |
| prefix | 16 | host subnet mask in prefix notation, refer to ${blanip#*/}in BMC |
| netmask | 255.255.0.0 | host subnet mask in address notation, refer to prefix2addr $blanip |
| gateway | 169.254.0.17 | host gateway address, refer to ${blanip%/*} in BMC |
| dns | 8.8.8.8 | Google DNS |
setenv ipaddr 169.254.0.1
setenv gatewapip 169.254.0.17
setenv netmask 255.255.0.0
setenv dnsip 8.8.8.8
net_add_route default 0.0.0.0/0 gw 169.254.0.17
net_add_addr eth0 efinet0 169.254.0.1
sudo nmcli con down $nic >&/dev/null # get rid of NetworkManager control
sudo systemctl stop NetworkManager
sudo systemctl stop firewalld # get rid of firewall control
'
sudo ip addr add 169.254.0.1/16 dev $nic
sudo ip link set $nic up
sudo ip route add default via 169.254.0.17

sudo sh -c "echo nameserver 8.8.8.8 >> /etc/resolv.conf"
No comments:
Post a Comment