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サーバを構築する。

# yum -y install 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を透過型に変更する。

# vi /etc/squid/squid.conf

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-port

        port="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のインストール

#yum -y install squid 

次にFirewallの設定をする。これが一番しんどかった。

まずは通常proxyとしての設定を行う。

Firewallにserviceとしてsquidを登録する。

#cd /etc/firewalld/services

#cp /usr/lib/firewalld/services/squid.xml ./

squid.xmlを開き、ポート番号を好みの番号に変える

#vi ./squid.xml

<port protocol="tcp" port="8080"/>

次にfirewalldにserviceを登録する。

#firewall-cmd --permanent --add-service=squid

 squidの設定を行う。

#vi  /etc/squid/squid.conf

 

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 all

visible_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

access_log /var/log/squid/access.log combined

 ここまでできたら通常のproxyとしては動くはず。

最後にFirewallとSquidを有効化する。

#firewall-cmd --reload

#firewall-cmd --list-all

#systemctl start squid

#systemctl enable squid

後はクライアントにproxy設定を登録し、HTTPアクセスできるかどうか確認する。

 

参考URL:

プロキシサーバー構築(Squid) - CentOSで自宅サーバー構築

4.5. ファイアウォールの使用

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をブートする為のもの

 ⇒NUCにUSBブートさせる為のツール
  入手先:UNetbootin, Universal Netboot Installer 日本語情報トップページ - OSDN

手順
(1) VMwareサイトよりESXi 6.0をダウンロードする。
  「My VMwareのアカウント」⇒「ダウンロード履歴」
  ⇒「ダウンロードとライセンスを表示」
  で表示されているライセンスキーを保存しておく。

(2) ISOイメージをUNetbootinを使ってUSBメモリに書き込む。
  ※初めてのインストール時にはNICSATAドライバを入手する。
   ESXi-Customizer等を利用してドライバ組込ISOを作成。
   今回はアップグレードであり、NICドライバも入っているので無視

(3) NUCにUSBメモリを差して起動。
  うかうかしてると普通にESXiが起動するので、F2キー連打しておく。
  BIOSメニューからUSBメモリを指定して起動。

(4) 画面の指示に従う。
  普通にアップグレードメニューが出てくるのでそれを選択。

(5) インストールしている間に、vShpere Clientもアップグレードしておく。

(6) vSphere Clientを起動したら
  「構成」⇒「ライセンス機能」を選択してキーを入力

完了!

で、色々探しまわった結果、
ESXiはUSB接続の外付けHDDサポートはやっていないらしい。
別の方法で容量拡張する必要があるが、
正直、9.5mm厚の大容量HDDが出るまで待つのが正解かも。