Static Routing Table (Windows10)
LANポートが2個口あるPCを、2つのネットワークに所属させる方法メモ
ネットワーク構成
───┬──────192.168.1.0/24
│
クライアントPC(Windows10) [NICとして仮にIF1とIF2を持っているものとする]
│
───┴──────192.168.2.0/24
この場合は、ルーティングテーブルに静的ルーティングを設定すれば良い。
まず、
route PRINT
で、現在のルーティングテーブルを確認する。
"インターフェイス一覧"で、ネットワーク接続しているNICのインターフェイス番号を確認する。
(以下、このインターフェイス番号をIF1,IF2だったとして表記する)
おそらく、"固定ルート:"で示される静的ルーティングには、この様に表示されている筈。
※メトリックとは、そのNICにおける優先順位と思えば良い。環境によって異なり、数字が小さいほど優先される。
最初のネットワークアドレスは、"宛先"を示す。0.0.0.0は、全ての宛先という意味になる。
固定ルート:
ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック
0.0.0.0 0.0.0.0 192.168.1.1 11
ここに、以下のコマンドでルートを追加する。
※"宛先"をIPアドレスで指定しなければいけないことに注意。
route -p ADD 192.168.2.0 mask 255.255.255.0 192.168.2.1 IF IF2
-p : Permanentの意味。これを付けないと再起動で設定が消える為、永続オプションを付与する。
192.168.2.0 : 宛先のネットワークアドレス
255.255.255.0 : ネットワークのマスクアドレス(指定しなくても24bitだそうだが)
192.168.2.1 : 接続ネットワークのゲートウェイを指定(ネクストホップアドレス)
IF2 : パケット送出のインターフェイスを定義。NICが2枚刺さっているので設定必須
正しく設定できれば、route PRINTで以下の様になっている筈。
固定ルート:
ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック
192.168.2.0 255.255.255.0 192.168.2.1 12
0.0.0.0 0.0.0.0 192.168.1.1 11
ここで、"アクティブルート"を確認する。
設定直後は表示されていないかもしれないが、PCを再起動する等した場合、以下のようになっていないだろうか。
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
0.0.0.0 0.0.0.0 192.168.2.1 192.168.2.2 37
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.2 37
ここで表示されているインターフェイスは、クライアントPCのNICに割り振られたIPアドレスとなるが、
着目すべきはメトリックである。
IF1を通常の通信ポートとして活用し、IF2を特定用途の通信に活用する場合は、メトリック値としては
IF1のメトリック値 < IF2のメトリック値 になっていなければならない。
そうでない場合、例えば同じ値の時などは、PCを起動した時に順番が入れ替わり、正しく通信できない事になってしまう。
しかし、アクティブルートは、現在の状態を表しているに過ぎず、ここを設定変更する事はできない。
そこで、以下のようにデフォルトの静的ルーティングを追加する。
固定ルートでは、IF1が通常通信ポートとなる為、こちらのメトリック値を小さくしてしまうと、
IF2へ行くはずのパケットまで、IF1に行ってしまう。
この場合は、IF1のメトリック値 > IF2のメトリック にすべきである。
route -p ADD 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 11
route -p CHANGE 192.168.2.0 mask 255.255.255.0 metric 1
これで、固定ルートに以下のように表示されれば成功。IF2が特定通信用として使われる筈だ。
固定ルート:
ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック
192.168.2.0 255.255.255.0 192.168.2.1 1
0.0.0.0 0.0.0.0 192.168.1.1 11
海外出張 持ち物リスト
時々、海外出張に行くので、ここいらで一度持ち物リストをまとめておこうと思います。あ、一応男性向け/ビジネス出張用です。
が、観光旅行の場合は、お土産のスペースを増やすだけで基本は一緒です。
この持ち物リストのコンセプトは、山登りの基本と同じ。
「不要なものは何一つ持たず、必要なものは何一つ忘れない」
なので、まず考えることは(真に)必要なものは何か?です。
現地調達できるのであれば、持っていく必要はありません。コンビニで買えば良いのです。行きの空港で、心配になって多めに換金した外貨は結局余ります。
そして日本へ持ち帰る必要のないものは現地で捨ててくる。勿体無い!という話も理解はできますが、荷物を少なくする方が優先順位は高いのです。
続きに持っていく理由を記載しています。
□□スーツケース・かばん
□□パスポート
□□パスポート入れ
□□外貨用財布
□□クレジットカード(海外旅行保険付き)
□□おパンツ・肌着シャツ・靴下(日数分)
□□スーツ・Yシャツ・私服(休日用)・パジャマ(寝る用)
□□名刺
□□筆記用具
□□メモ帳・手帳
□□コンセント変換プラグ(ユニバーサルプラグ)
□□LANケーブル(+ちびファイ)
□□デジカメ・スマホ
□□海外用レンタルWiFi
□□USB充電ケーブル
□□乾電池
□□シェーバー・歯ブラシ・化粧小物
□□バンドエイド
□□ナイフ・カッター・ハサミなどの切断具
□□綿棒・耳かき・爪切り
□□ウェットティッシュ・ティッシュ・ビニール類
□□目薬・ビタミン剤・胃腸薬などの常備薬
□□メガネケース・1day使い捨てコンタクトレンズ
□□衣類圧縮袋
□□本・音楽プレーヤー・イヤホン・ゲーム機
□□ノートPC・仕事道具・その充電器など
□□航空チケット・マイレージカード
□□免許やパスポートのコピー、証明写真
□□スリッパ・作業靴
□□フリスク等のミントタブレット
□□ジップロック
驚くほど少ないと思う人もいるでしょうが、実際なんとかなります。
冬のコートありの状態で、マレーシア10日間を機内預け荷物だけで出張した経験もあります。
(荷物的に問題ありませんでしたが、鞄がパンパンすぎたので次はないです)
続きを読む
透過型proxyの構築まで~その2~
次に透過型proxyへの設定を行う。
考え方として、クライアントのデフォルトゲートウェイをproxyサーバに設定し、
80番ポートにアクセスしてきたらsquidの8080番ポートへポートフォワードしてやればよい、という方針。
まず、クライアントのデフォルトゲートウェイを設定するために、
DHCPサーバを構築する。
# vi /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0{
range dynamic-bootp 192.168.1.10 192.168.1.50;
option routers 192.168.1.3;
option domain-name "xxx.yyyy.zzz.jp";
option domain-name-servers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
}
# 最低限これくらいを設定しておけば良い。
# 当然、proxyサーバ自身は固定IPにしておく必要がある。
# nmcli c modify eth0 ipv4.method manual
# nmcli c modify eth0 ipv4.addresses 192.168.1.3/24
# nmcli c modify eth0 ipv4.gateway 192.168.1.1
# systemctl start dhcp
# systemctl enable dhcp
DHCPが正しく動作していることを確認したら、Squidを透過型に変更する。
http_port 8080 transparent
# systemctl restart squid
次にFirewallを設定する。ポートフォワードに関してもrich-ruleを使う方が分かりやすかった。過去、iptablesに慣れている人はそちらでどうぞ。
# firewall-cmd --permanent --add-masquerade #IPマスカレードを有効化
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source\
address="192.168.1.0/24" forward-port port="80" protocol="tcp" to\
-port="8080" to-addr="192.168.1.3"
# firewall-cmd --reload
# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcp dhcpv6-client samba squid ssh
ports:
masquerade: yes
forward-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="192.168.1.0/24" forward-portport="80" protocol="tcp" to-port="8080" to-addr="192.168.1.3"
クライアントを再起動する等して、DHCPによるデフォルトゲートウェイが変わっている事、Webブラウザのproxy設定を外してWebサイトへ接続できる事を確認する。
接続できたら、アクセス先がproxyサーバのアクセスログに記録されている事が確認できたら成功!
アクセスログ:/var/log/squid/access.log
また、HTTP以外のネットワーク通信ができる事も確認しておく。
透過型proxyの構築まで~その1~
キャッシュサーバとしてsquidを入れたのは良いものの、すべての端末に対してproxy登録するのは非常に面倒である為、透過型proxyにして構築してみた。
ネットワーク構成(通常proxy)
<192.168.1.0/24>
WAN────ルータ─┬──クライアント
└──proxyサーバ(固定IP:192.168.1.3)
まずはsquidのインストール
次にFirewallの設定をする。これが一番しんどかった。
まずは通常proxyとしての設定を行う。
Firewallにserviceとしてsquidを登録する。
#cd /etc/firewalld/services
<port protocol="tcp" port="8080"/>
次にfirewalldにserviceを登録する。
#firewall-cmd --permanent --add-service=squid
squidの設定を行う。
acl Safe_ports port XXXX #ポートの定義 SSHなど追加しておく
acl localnet src 192.168.1.0/24 #ローカルネットの定義
http_access allow localnet #アクセス許可
http_access deny all #すべてのアクセス拒否
http_port 8080 #HTTPポートの指定
# Proxyの秘匿性を上げる為の設定
request_header_access Referer deny all
request_header_access User-Agent deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny allvisible_hostname unknown
forwarded_for off
#Proxyキャッシュ量の設定
cache_mem 256 MB
maximum_object_size 262144 KB
cache_dir ufs /var/spool/squid 2000 16 256
#エラー時のNoticeを日本語のものにする。
error_directory /usr/share/squid/errors/ja-jp/
#ログのフォーマットを見やすいCLF形式へ。
logformat combined %tl %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
ここまでできたら通常のproxyとしては動くはず。
最後にFirewallとSquidを有効化する。
#firewall-cmd --reload
#firewall-cmd --list-all
#systemctl start squid
#systemctl enable squid
後はクライアントにproxy設定を登録し、HTTPアクセスできるかどうか確認する。
参考URL:
CentOS / Debian SSHサーバ構築
家にある2台のサーバでそれぞれSSHサーバを構築しておく。
sshdはそれぞれOSに入っているものを使うが、設定をする必要がある。
#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
#vi /etc/ssh/sshd_config
sshd_configの中身は以下の様に設定する。
Port 22 #を消して有効化。任意のポート番号に変更する。
#※元の文章も残しておくのが作法っぽいので残しておく。
Protocol 2 #SSH2のみ使う
PermitRootLogin no #SSH接続でいきなりのrootログインを禁止
RSAAuthentication no #SSH1のRSA認証禁止
PubkeyAuthentication yes #公開鍵方式での認証
ChallengeResponseAuthentication no #チャレンジレスポンス認証禁止
#KerberosとGSSAPIも使わないのでまとめてコメントアウトしておく
PasswordAuthentication no #パスワード認証禁止
#上記公開鍵方式でログインできることを確認してから変更する
AcceptEnv Lang ja_JP.UTF-8
Subsystem sftp internal-sftp #内部コマンドのSFTPを使う
#SCP/FTPの禁止
DenyUsers ALL #登録ユーザ以外拒否
AllowUsers user1 #許可ユーザを記述
Match User sftpuser #"sftpuser" のユーザに該当する場合
ChrootDerectory /mnt #/mntをChrootとする
ForceCommand internal-sftp #SFTPのみ許可(SSHログイン拒否)
#sftpusersというグループに対して行う時は"Match Group"とする
VMware ESXi 5.5 ⇒ 6.0 アップグレード
年末でサーバ環境整理ということで、NUCにUSB-HDDを接続して
容量拡張したかった話。
そのまま接続しても上手く行かないのでゲストOSにUSBコントローラを
追加すれば行けるかな?と思い、導入してみるもUSB 3.0は微妙に
サポートしてるかしていないかわからない。
そのままなんとなく血迷ってESXiを6.0にアップグレードすることにした。
準備
⇒VMware ESXi 6.0をブートする為のもの
- Universal Netboot Installer(UNetbootin)
⇒NUCにUSBブートさせる為のツール。
入手先:UNetbootin, Universal Netboot Installer 日本語情報トップページ - OSDN
手順
(1) VMwareサイトよりESXi 6.0をダウンロードする。
「My VMwareのアカウント」⇒「ダウンロード履歴」
⇒「ダウンロードとライセンスを表示」
で表示されているライセンスキーを保存しておく。
(2) ISOイメージをUNetbootinを使ってUSBメモリに書き込む。
※初めてのインストール時にはNICとSATAドライバを入手する。
ESXi-Customizer等を利用してドライバ組込ISOを作成。
今回はアップグレードであり、NICドライバも入っているので無視
(3) NUCにUSBメモリを差して起動。
うかうかしてると普通にESXiが起動するので、F2キー連打しておく。
BIOSメニューからUSBメモリを指定して起動。
(4) 画面の指示に従う。
普通にアップグレードメニューが出てくるのでそれを選択。
(5) インストールしている間に、vShpere Clientもアップグレードしておく。
(6) vSphere Clientを起動したら
「構成」⇒「ライセンス機能」を選択してキーを入力
完了!
で、色々探しまわった結果、
ESXiはUSB接続の外付けHDDサポートはやっていないらしい。
別の方法で容量拡張する必要があるが、
正直、9.5mm厚の大容量HDDが出るまで待つのが正解かも。