[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:02444] Re: reconfigure network setting



こんにちは。松田陽一@PAL-NET三鷹です。

From: MATSUDA Yoh-ichi / 松田陽一 <matsuda@xxxxxxxxxxxx>
Subject: [debian-users:02383] reconfigure network setting
Date: Wed, 22 Oct 1997 00:45:31 +0900

> debianでは、一度設定したネットワーク設定項目を書き換えること
> は、メニューでは出来ないのでしょうか?
> 或は、Slackware のipmaskのようなコマンドと同等の機能を提供し
> てくれるツールはないのでしょうか?

フォローがないので、debianにはSlackware のnetconfig に相当す
るようなユーティリティの類はないと理解しました。
なお、職場に持ち込んだマシンは更に別の場所に移動させなければ
ならなかったので、今後の事を考え、以下のように対処しました。

(1) ftp://ftp.iij.ad.jp/pub/linux/slackware_source/a/hdsetup/ipmask.c
    を入手し、makeしました。
(2) /etc/init.d/network はsuしてから手作業で書き換えました。

ipmask.cを眺めた所、「30分で書いた」と書かれてるようで、処理
内容もさほど難しくもなさそうでしたので、perlでも書いて見まし
た。

#------8<------cut here------8<------
#!/usr/bin/perl 
# /home/yoh/ipmask.pl
# 1997/10/25 by [yoh](matsuda@xxxxxxxxxxxx)

@copy_argv=@ARGV;
@ARGV=();

if($#copy_argv != 1){
	print_usage();
	exit;
}
if($copy_argv[0] !~/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/){
	print_usage();
	exit;
}
if($copy_argv[1] !~/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/){
	print_usage();
	exit;
}

sub print_usage{
	print "USAGE: ipmask.pl <decimal netmask> <decimal IP address>\n";
}

@netmask=split('\.',$copy_argv[0]);
@ipaddress=split('\.',$copy_argv[1]);

printf("%d.%d.%d.%d ", 
	(255 ^ $netmask[0]) | $ipaddress[0],
	(255 ^ $netmask[1]) | $ipaddress[1],
	(255 ^ $netmask[2]) | $ipaddress[2],
	(255 ^ $netmask[3]) | $ipaddress[3]);
printf("%d.%d.%d.%d\n", 
	$netmask[0] & $ipaddress[0],
	$netmask[1] & $ipaddress[1],
	$netmask[2] & $ipaddress[2],
	$netmask[3] & $ipaddress[3]);
#------8<------cut here------8<------

--
松田 陽一(yoh)
mailto:matsuda@xxxxxxxxxxxx
http://www.palnet.or.jp/~matsuda/index.htm