论如何在西部开源偷懒之一键搭建模拟路由器服务,实现不能联网的ip能两次地址转换ping百度的域名

想学习如何手动安装不准点这里
https://blog.csdn.net/qwefyjwww/article/details/83312707

复制脚本一,粘贴到以.sh结尾的的空白文件内,chmod +x 给权限后输入路径启动
脚本一在有双网卡的模拟路由器虚拟机上运行

	#!/bin/bash
	systemctl start firewall &>/dev/null
	firewall-cmd --add-masquerade &>/dev/null
	echo -e "\033[31m 火墙策略添加完成,以下输入为空时不改变原设置 \033[0m"

	read -p "请输入与真机相同网段的网卡名:" name1
	read -p "请输入上一步选择的网卡的ip:" ip1
	read -p "请输入与真机不同网段,与客户端相同网段的网卡名:" name2
	read -p "请输入上一步选择的网卡的ip:" ip2
	read -p "请输入真机ip:" ip3
	read -p "请输入所在地运营商提供的dns地址,无输入默认为114.114.114.114(陕西电信):" ip4

	echo -e "DEVICE=$name1\nBOOTPROTO=none\nNOBOOT=yes\nIPADDR=$ip1\nPREFIX=24\nNAME=$name1" > /etc/sysconfig/network-scripts/ifcfg-$name1
        systemctl restart network &>/dev/null && echo "完成" || echo -e "\033[31m 失败,请检查日志 \033[0m"

	echo -e "DEVICE=$name2\nBOOTPROTO=none\nNOBOOT=yes\nIPADDR=$ip2\nPREFIX=24\nNAME=$name2" > /etc/sysconfig/network-scripts/ifcfg-$name2
        systemctl restart network &>/dev/null && echo "完成" || echo -e "\033[31m 失败,请检查日志 \033[0m"

	sed '/^GATEWAY/d' -i /etc/sysconfig/network-scripts/ifcfg-$name1 &>/dev/null
	echo -e "GATEWAY=$ip3" >> /etc/sysconfig/network-scripts/ifcfg-$name1
	systemctl restart network &>/dev/null && echo "完成" || echo -e "\033[31m 失败,请检查日志 \033[0m"

	[ -z "$ip4" ] && {
		sed '/^DNS1/d' -i /etc/sysconfig/network-scripts/ifcfg-$name1 &>/dev/null
	
		echo -e "DNS1=114.114.114.114" >> /etc/sysconfig/network-scripts/ifcfg-$name1
        
		systemctl restart network &>/dev/null && echo "完成" || echo -e "\033[31m 失败,请检查日志 \033[0m"
	}||{
		sed '/^DNS1/d' -i /etc/sysconfig/network-scripts/ifcfg-$name1 &>/dev/null
		echo -e "DNS1=$ip4" >> /etc/sysconfig/network-scripts/ifcfg-$name1
	        	systemctl restart network &>/dev/null && echo "完成" || echo -e "\033[31m 失败,请检查日志 \033[0m"

	}

	forward=`sysctl -a | grep ip_forward | awk '{print $3}' | sed -n "1p"` 

	[ "$forward" -eq "0" ] && {
	read -p "你的内核需要修改
	此操作需要重启电脑
	按y开始重启
	重启后再次运行一次脚本
	出现输入提示时ctrl+c退出即可
	此后所有服务搭建完成
	无输入视为退出:" yes
	case $yes in

	y)
		sed '/net.ipv4.ip_forward=0/d' /etc/sysctl.conf
		echo "net.ipv4.ip_forward=1">> /etc/sysctl.conf
		reboot
		;;

	*)
		echo -e " \033[31m 服务搭建未完成 \033[0m "
		exit 1
		;;

	esac
	}
		echo -e "\033[31m 所有服务搭建完成 \033[0m"
	exit 0

以下为脚本二在,不能联网的客户端运行

	#!/bin/bash
	read -p "选择
	1.当前未安装开始安装
	2.当前已安装开始测试追踪数据转换:" ch
	case $ch in

	1)
		read -p "设置无法联网的网卡:" name
		read -p "输入无法联网的ip:" ip
		read -p "输入模拟路由器的主机的ip:" ip1
		read -p "输入本地运营商的dns地址,无输入默认为陕西电信114.114.114.114:" ip2
	
		[ -z "$ip2" ] && {
			echo -e "DEVICE=$name\nBOOTPROTO=none\nNOBOOT=yes\nIPADDR=$ip\nPREFIX=24\nNAME=eth0\nGATEWAY=$ip1\nDNS1=114.114.114.114" > /etc/sysconfig/network-scripts/ifcfg-$name
	}||{
			echo -e "DEVICE=$name\nBOOTPROTO=none\nNOBOOT=yes\nIPADDR=$ip\nPREFIX=24\nNAME=eth0\nGATEWAY=$ip1\nDNS1=$ip2" > /etc/sysconfig/network-scripts/ifcfg-$name
	}
	        	systemctl restart network &>/dev/null && echo "完成" || echo -e "\033[31m 失败,请检查日志 \033[0m"

		read -p "按y查看看数据传递过程,无输入视为退出:" yes
			case $yes in

			y)
				read -p "输入追踪的ip或域名:" www
			echo -e "\033[31m 默认追踪30次地址转换自动退出脚本,只显示与我们有关的3次地址转换,请按crtl+c提前退出,网络延迟会影响显示时间\033[0m"
				traceroute $www | sed -n "2,4p"
				;;
			*)
				exit 0
				;;
			esac
			;;
	2)
		read -p "输入追踪的ip或域名:" www
	        echo -e "\033[31m 默认追踪30次地址转换自动退出脚本,只显示与我们有关的3>次地址转换,请按crtl+c提前退出,网络延迟会影响显示时间\033[0m"
	                traceroute $www | sed -n "2,4p"
	                ;;
	esac

复制好了没,浪起来!
在这里插入图片描述

###################真机端#############
在确定能联网的真机上输入以下命令添加火墙策略
firewall-cmd --add-masquerade
在这里插入图片描述
#########模拟路由器的虚拟机端#############
在模拟路由器的虚拟机上添加两块网卡,运行脚本
按提示输入网卡名、不同网段的ip、能联网的真机ip和dns解析地址
当检测内核时可能需要修改,根据提示躺好就行
在这里插入图片描述
重启后手动运行一次脚本
出现以下提示ctrl+c退出
此后路由器端所有服务搭建完成
在这里插入图片描述
#########无法联网的客户端####################
运行脚本
未搭建服务选1
搭建了想看效果选2
在这里插入图片描述
按提示输入网卡名、ip、dns
出现完成时所有服务搭建完成
在这里插入图片描述
输入y查看数据传递
在这里插入图片描述

怎么样舒服不
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值