中年プログラマーの息抜き

ブログをはじめました。気の向くままにプログラム関連ネタをメモしていきます。

CISCO 841M 設定:その14:別LANに設置したプリンターから印刷する

f:id:tm-b:20170728004131j:plain

はじめに

L3スイッチが4ポートあり、それぞれVLAN1, VLAN2, VLAN3, VLAN4で分離したとしても、ルーティング機能により、VLAN2⇔VLAN3などVLANをまたいだ通信を遮断している状態で始まりです。今回は例として、VLAN2にネットワーク接続されたプリンターを使ってVLAN3から印刷できるようにアクセスリストを考えてみようと思います。

 

VLAN2は「192.168.20.0/24」、VLAN3は「192.168.30.0/24」、プリンターは「192.168.20.100」とします。

機材

CISCO 841M本体
・KAUMO USB RJ45 シリアルコンソールケーブル
・Win10 ノートPC

ACLグループVLAN2

access-list 名前 可否 プロトコル 受け先 受け元 のイメージで

access-list 120 permit tcp 192.168.20.100 0.0.0.0 eq 515    192.168.30.0 0.0.0.255

access-list 120 deny    ip   any 192.168.30.0 0.0.0.255

access-list 120 permit  ip  any  any

ACLグループVLAN3

access-list 名前 可否 プロトコル 送信元 送信先 のイメージで

access-list 130 permit tcp any    192.168.20.100 0.0.0.0 eq 515

access-list 130 deny    ip  any     192.168.20.0 0.0.0.255

access-list 130 permit ip  any any

まとめ

プリンタポート番号は、その機種によって違うと思います。(515番や9100番とか)。。また、プリンタ検索用のUDPは設定してないので、PCへプリンタを追加するときは、プリンタのIPアドレスを直指定しました。。(PCからプリンタ検索で探すことはできません) 、 という限定的な設定ですが、設定イメージをメモとしました。 今回は単一機種のVLANですが、多段ルータでも同じ要領で設定。。。

ASP MVCのViewでコントローラー名やアクション名を取得

f:id:tm-b:20200929012602j:plain

 

はじめに

Razor(レイザー)のレイアウトファイルにページのタイトルなどの出力処理をまとめたいと思い調査したメモ

 

実行中のコントローラー名を取得

@Url.RouteCollection.GetRouteData(Context).Values["controller"]

 

実行中のアクション名を取得

@Url.RouteCollection.GetRouteData(Context).Values["action"]

 

画面タイトルなどデータベースで管理してコントローラーからビューに渡す方法をよく使いますが、アクション数が100個程度であれば、レイアウトファイル内で分岐処理をするほうがお手軽、、まあ十分かなと思い実装を試しました。

 

モデルを介さない値はViewに渡さない

 

Visual Studio Code(CL.exe)を使って、コンソールアプリ(C,CPPファイル)をデバッグ

f:id:tm-b:20200929012602j:plain

はじめに

先日に「Visual Studio Code」の「C/C++extension」をインストールしました。dbgやwindbgなどではなく「microsoft c++ build tools」だけでデバッグ環境を作ってみました。

 

環境変数を追加

動作環境により違うとは思いますけど、今回はこんな感じで設定しときます。

・PATH

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\bin\HostX86\x86

 

・INCLUDE

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\include

C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt

C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared

C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um

C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt

C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt

 

・LIB

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\lib\x86

C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x86

C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86

 

VSCode」で目指す環境

実はデバッグ自体はできなくてもよかったんですが、F5ボタンから実行できるようにしたかっただけです。。。CLオプションも適当ですので、あしからず。。

公式ページに記述の説明があったので参考にしました。

Configure Visual Studio Code for Microsoft C++

 

launch.json

{
"version": "0.0.0",
"configurations": [
{
"name": "CPP Launch (console)",
"type": "cppvsdbg",
"request": "launch",
"preLaunchTask": "debug-build",
"postDebugTask": "debug-clean",
"program": "${workspaceFolder}/.debug.exe",
"args": [],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
"externalConsole": false
}
]
}

 

task.json

{
"version": "2.0.0",
"tasks": [
{
"label": "debug-clean",
"type": "shell",
"command": "del",
"args": [ ".debug.*" ],
"group": "none"
},
{
"label": "debug-build",
"type": "shell",
"command": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x86/cl.exe",
"args": [
"/Fd:.debug.pdb",
"/Fe:.debug.exe",
"/Fo:.debug.obj",
"/Zi",
"/Od",
"/MD",
"/std:c++17",
"/arch:SSE2",
"${relativeFile}"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": "$msCompile"
}
]
}

 

Build Tool

Build Tool(Build Tools for Visual Studio 2019) はここの下のアコーディオンVisual Studio 2019 のツール」を広げると探せます。

Download Visual Studio 2019 for Windows & Mac

 

まとめ

これで、F5からデバッグ実行可能になります。上で環境変数を設定したので、コマンドプロンプトからc++コンパイル。便利。