在Debian Lenny上安装链路层拓扑发现(LLTD)协议响应器

在Linux上安装链路层拓扑发现(LLTD)协议响应程序Debian Lenny

本文档介绍如何从Microsoft安装和配置链路层拓扑发现(LLTD)协议 - 响应程序源代码。 lld2d守护程序允许linux系统显示在Vista的网络地图中。 本手册应易于适应其他发行版。

积分

我最初在http://www.jcxp.net/forums/index.php?showtopic=19789找到关于如何使其工作的信息。 来自pgn674的帖子描述了他们如何能够使源代码工作。 我的贡献是简化方向和简单的init.d启动脚本。

先决条件

  • 安装了Linux的系统(Debian Lenny被用于此操作)
  • Linux构建环境为您的发行版
  • 基本熟悉Linux和命令行
  • 安装gcc编译器
  • Microsoft LLTD源代码

下载源代码

http://www.microsoft.com/whdc/rally/rallykit.mspx下载Rally-LLTD- PortingKit.exe 。 将exe解压缩到系统上的文件夹(我使用KDE的方舟来解压缩文件)。

安装构建环境

确保您具有所需的构建环境和工具来编译您的发行版的源代码。

apt-get install linux-headers-`uname -r` build-essential

编译安装

在您首选的文本编辑器中,打开/usr/include/linux/wireless.h ,并在文件的 开头添加#include <linux / if.h>并保存。

打开终端窗口或从控制台输入:

cd /unzipped file folder/Sample Code/native-linux

输入“make”命令并忽略警告:

sudo make

将lld2d可执行文件复制到/ usr / sbin (可能与您的发行版有所不同)。

创建init.d启动脚本

这个简单的lld2d init.d脚本是基于lisa init.d脚本的。 使用您首选的文本编辑器在/etc/init.d中创建lld2d init.d脚本。

确保使用首选界面编辑INTFACE变量,并使脚本可执行。

#! /bin/sh
### BEGIN INIT INFO
# Provides:          lld2d
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/lld2d
NAME=lld2d
PIDFILE=/var/run/$NAME.pid
DESC="LLTD Protocol Responder"
INTFACE=ENTER YOUR PREFERRED INTERFACE HERE
test -f $DAEMON || exit 0
set -e
is_running ()
{
	if [ -e "$PIDFILE" ]
	then
		#checking if program is running
		if [ -L /proc/`cat $PIDFILE`/exe ]
		then
		#checking for stale pidfile
			if grep -q $NAME /proc/`cat $PIDFILE`/cmdline 
			then
				#program is running and is called lisa
				return 0
			fi
		fi
		rm -f $PIDFILE
	fi
	#program is not running
	return 1
}
case "$1" in
  start)
  	if is_running
	then
		echo "$DESC is already running. Not doing anything"
		exit 0
	fi
	echo -n "Starting $DESC: "
	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON $INTFACE\
		> /dev/null
	echo $(pidof lld2d) > $PIDFILE
	echo "$NAME."
	;;
  stop)
  	if ! is_running
	then
		echo "$DESC is not running. Not doing anything"
		exit 0
	fi
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \
		--exec $DAEMON
	rm -f $PIDFILE
	echo "$NAME."
	;;
  reload|force-reload)
	echo "Reloading $DESC configuration files."
	start-stop-daemon --stop --quiet --signal 1 --pidfile $PIDFILE \
		--exec $DAEMON $INTFACE
	;;
  status)
	echo -n "$DESC is "
	if ! is_running
	then 
		echo -n "not "
	fi
	echo "running."
  	;;
  restart)
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \
		--exec $DAEMON $INTFACE
	rm -f $PIDFILE
	sleep 1
	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON $INTFACE\
		> /dev/null
	echo $(pidof lld2d) > $PIDFILE
	echo "$NAME."
	;;
  cond-restart)
  	if ! is_running
	then
		echo "$DESC is not running. Not doing anything"
		exit 0
	fi
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \
		--exec $DAEMON $INTFACE
	rm -f $PIDFILE
	sleep 1
	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON $INTFACE\
		> /dev/null
	echo $(pidof lld2d) > $PIDFILE
	echo "$NAME."
	;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|cond-restart|status|reload|force-reload}" >&2
	exit 1
	;;
esac
exit 0

启动lld2d守护进程

在终端窗口或控制台中输入以下命令:

/etc/init.d/lld2d start

刷新Vista上的网络映射,现在您的Linux服务器将显示为地图显示的一部分。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏