
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Cisco IOS | monolog</title>
	<atom:link href="https://blog.monora.me/tag/cisco-ios/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.monora.me</link>
	<description>monora log #=&#62; ものろーぐ</description>
	<lastBuildDate>Thu, 28 May 2020 22:49:21 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.1</generator>
<site xmlns="com-wordpress:feed-additions:1">21279848</site>	<item>
		<title>Cisco IOS で tftp を使ったアップロードが Permission denied で怒られる件</title>
		<link>https://blog.monora.me/2020/05/permission-denied-during-tftp-upload-from-cisco-ios/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=permission-denied-during-tftp-upload-from-cisco-ios</link>
		
		<dc:creator><![CDATA[きょんたん]]></dc:creator>
		<pubDate>Wed, 13 May 2020 07:52:24 +0000</pubDate>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Cisco IOS]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[tftpd]]></category>
		<guid isPermaLink="false">https://blog.monora.me/?p=2021</guid>

					<description><![CDATA[<p>家の回線をv6プラスにしたところ、外側から特定のポートへアクセスさせたいような用途、つまりこのブログを自宅サーバーから提供することができないことに変更してから気が付いた。 しばらくは FreeBSD で PPPoE を終 [&#8230;]</p>
The post <a href="https://blog.monora.me/2020/05/permission-denied-during-tftp-upload-from-cisco-ios/">Cisco IOS で tftp を使ったアップロードが Permission denied で怒られる件</a> first appeared on <a href="https://blog.monora.me">monolog</a>.]]></description>
										<content:encoded><![CDATA[<p>家の回線をv6プラスにしたところ、外側から特定のポートへアクセスさせたいような用途、つまりこのブログを自宅サーバーから提供することができないことに変更してから気が付いた。<br />
しばらくは FreeBSD で PPPoE を終端して遊んでいたが、うっかりご家庭用のルータであるところの Cisco C891FJを買ってしまった。</p>
<p>とりあえずIOSのバックアップをすべく <code>copy</code> コマンドで自宅のサーバへ IOS をアップロードしようとした。しかし、Permission denied と怒られてアップロードに成功しなかった。</p>
<p>tftp (具体的には tftpd-hpa) サーバでの <code>tftp 127.0.0.1</code> によるアップロード/ダウンロードはできる。何かがおかしい……</p>
<p><span id="more-2021"></span></p>
<h3>状況を整理</h3>
<p>tftpd は <code>0.0.0.0:69/udp</code> で listen している。 (<code>systemctl start</code> で動かない問題もあったが、それはまた別の問題)</p>
<pre class="lang:default highlight:0 decode:true EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false"># sudo lsof -i:69
COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
in.tftpd 29780 root    4u  IPv4 xxxxxxx      0t0  UDP *:tftp
in.tftpd 29780 root    5u  IPv6 xxxxxxx      0t0  UDP *:tftp
</pre>
<p>tftpd root は <code>/srv/tftpboot</code>。こういう挙動をする。</p>
<pre class="lang:default highlight:0 decode:true EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false"># tftp 127.0.0.1
tftp&gt; get something
Error code 2: Only absolute filenames allowed
tftp&gt; get /something
Error code 2: Forbidden directory
tftp&gt; get /srv/tftpboot/something
Received 7 bytes in 0.0 seconds
</pre>
<p>IOSでのエラーメッセージはこんな感じ。tftpd は verbose フラグを付けてもだんまり。</p>
<pre class="lang:default highlight:0 decode:true EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false">#copy flash:c800-universalk9-mz.SPA.153-3.M3.bin tftp://10.0.0.1/srv/tftpboot/ios/
Address or name of remote host [10.0.0.1]?
Destination filename [srv/tftpboot/ios/c800-universalk9-mz.SPA.153-3.M3.bin]?
%Error opening tftp://10.0.0.1/srv/tftpboot/ios/c800-universalk9-mz.SPA.153-3.M3.bin (Permission denied)
</pre>
<p>なるほど……?</p>
<h3>解決方法</h3>
<p>ホスト名とパスの間にもう1つ <code>/</code> を足せばよい。つまり <code></code><code>tftp://[ホスト名]</code><strong>/</strong><code>/パス</code> とすればよい。</p>
<pre class="lang:default highlight:0 decode:true EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-linenumbers="false">#copy flash:c800-universalk9-mz.SPA.153-3.M3.bin tftp://10.0.0.1//srv/tftpboot/ios/
Address or name of remote host [10.0.0.1]?
Destination filename [/srv/tftpboot/ios/c800-universalk9-mz.SPA.153-3.M3.bin]?
!!!!!!!!!!!!!!(snip)!!
68176296 bytes copied in 129.832 secs (525112 bytes/sec)
</pre>
<p>気付いたきっかけは Destination filename の確認プロンプトだが、まさかこんなところでハマるとは思わなかった。<br />
自宅インフラはトラブルシューティングが99%</p>
<hr />
<p>最近はご家庭用の Wi-Fi AP であるところの Meraki Go も導入したが、こちらはコンソールに入る必要がないどころかそもそもコンソールポートが存在しない。<br />
なんならインターネットに接続しないと初期セットアップすらできないし、Web設定画面はおまけでメインの設定は iOS / Android アプリから行うハイテク仕様。これがクラウドネイティブアクセスポイントってやつか〜</p>
<p>必要十分に高速で、かつ最高に安定している。おすすめです。</p>
<p>&nbsp;</p>
<p><iframe style="width: 120px; height: 240px;" src="https://rcm-fe.amazon-adsystem.com/e/cm?ref=tf_til&amp;t=monora09-22&amp;m=amazon&amp;o=9&amp;p=8&amp;l=as1&amp;IS1=1&amp;detail=1&amp;asins=B07SGXPBGJ&amp;linkId=1819d3006f307907ac651c2d495cac8e&amp;bc1=ffffff&amp;lt1=_top&amp;fc1=333333&amp;lc1=0066c0&amp;bg1=ffffff&amp;f=ifr" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"><br />
</iframe></p>The post <a href="https://blog.monora.me/2020/05/permission-denied-during-tftp-upload-from-cisco-ios/">Cisco IOS で tftp を使ったアップロードが Permission denied で怒られる件</a> first appeared on <a href="https://blog.monora.me">monolog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2021</post-id>	</item>
	</channel>
</rss>
