Contents
どうも、ゆるめのミニマリスト&へっぽこSEのアシアです。
今日の話は…
アシア
なんか、おかしいと思ったんだよ。
家では無線LANを使っているのですが、リモート会議になると音飛びがすると指摘されました。
なので、LANケーブルを挿し込んだけど、動きや設定表示がなんかおかしい…。
よく考えたら、
- 職場のネットワーク設定
- IPアドレス 指定(DHCPサーバ未使用)
- DNSサーバ 指定
- 家の固定回線
- IPアドレス 未指定(DHCPサーバ使用)
- DNSサーバ 未指定
この環境で社内ネットワーク設定が有効になっているので、おかしいの当たり前だった…。
いつの間にかDHCP設定は無効化されていたけど、DNSサーバは社内サーバを指定しっぱなしで、URLの名前解決ができていない感じ。
解決策
『代替の構成』を設定する(全自動)
ネットワークのアダプタ設定を開きます。
私のパソコンでは「イーサネット」が有線LANのアダプタ設定です。
まず、基本設定は家にあわせてIPアドレス指定なし&DNSサーバ指定なしにします。
代替の構成を社内ネットワークの設定にします。
WINSサーバはDSNサーバと同じアドレスを指定するか悩んだけど、一旦は空欄で。
設定バッチを実行する(環境がかわる度に実行)
『代替の構成』じゃダメな人向け。
ちなみに私もダメでした。
地味にDHCPサーバが居るらしくて、職場環境でも『代替の構成』に切り替わらない。
下記をコピペして、Shift_JISエンコード+拡張子batで保存します。
アドレスやアダプタ名は適宜変更してください。
@echo off
set interface_name=xxxxxxx
echo 0:職場(固定IP) 1:自宅(DHCP)から選択
set mode=
set /p mode=
if "%mode%"=="0" goto IP_SETTING_START
if "%mode%"=="1" goto DHCP_SETTING_START
echo "入力エラー"
goto SETTIN_END
:IP_SETTING_START
echo %interface_name%を固定IP設定に変更します
netsh interface ipv4 set add name="%interface_name%" source=static addr="xxx.xxx.xxx.xxx" mask="yyy.yyy.yyy.yyy" gateway="zzz.zzz.zzz" gwmetric=1
netsh interface ipv4 set dns "%interface_name%" source=static addr="XXX.XXX.XXX.XXX" register=non validate=no
netsh interface ipv4 add dns "%interface_name%" addr="YYY.YYY.YYY.YYY" index=2 validate=no
goto SETTIN_END
:DHCP_SETTING_START
echo %interface_name%のDHCPを有効にします
netsh interface ipv4 set address "%interface_name%" dhcp
netsh interface ipv4 set dns "%interface_name%" dhcp
goto SETTIN_END
:SETTIN_END
pause
exit
置き換え文字 | 置き換え |
---|---|
xxxxxxx | 有線LANのアダプタ名(例:イーサネット) |
xxx.xxx.xxx.xxx | IPアドレス |
yyy.yyy.yyy.yyy | サブネットマスク |
zzz.zzz.zzz.zzz | デフォルトゲートウェイ |
XXX.XXX.XXX.XXX | 優先DNSサーバ |
YYY.YYY.YYY.YYY | 代替DNSサーバ |
Shift_JISエンコードを指定しないと、文字化けします。
あとは環境が変わるたびに管理者として実行します。
環境が変わるたびに、管理者として、実行します(面倒なので2度言う)
プロキシ設定を設定・削除する
ついでに、社内ではプロキシ(http://hogehoge:8080)を設定する・自宅では削除するようにしたいです。
下の例では除外対象として192,168.*を指定しています。
複数ある場合にはセミコロン;で列挙します。
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t reg_dword /d 1
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyServer /t reg_sz /d http://hogehoge:8080
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyOverride /t reg_sz /d "192.168.*;<local>"
削除する場合はこっち。
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t reg_dword /d 0
有線LANと無線LANの優先度を指定する
仕事の都合で社内LAN設定で2台のパソコンを優先LANでつなぎつつ、インターネットには無線LANからアクセスしたくなりました。
コマンドプロンプトで以下のコマンド叩いて、Idx値とMetを確認しておきます。
このMetが小さいものほど優先される回線です。
netsh interface ipv4 show interface
Metを優先したい方を小さくします。
以下は有線LANを優先したい場合。
set interface_idx=19
set interface_idx_wifi=15
set interface_met_pri=10
set interface_met_sub=15
netsh interface ipv4 set interface %interface_idx% met=%interface_met_pri%
netsh interface ipv4 set interface %interface_idx_wifi% met=%interface_met_sub%
というわけで、こんな感じになりました。
職場設定:IP固定、DNS指定、有線LANを優先
自宅設定:DHCP使用、DNS未指定、有線LANを優先
自宅で複数PC接続:IP固定、DNS指定、無線LANを優先
の3択で。
@echo off
set interface_name=イーサネット
set interface_idx=19
set interface_idx_wifi=15
set interface_met_pri=10
set interface_met_sub=15
echo 0:職場(固定IP) 1:自宅(DHCP)から選択 2:職場(固定IP)でプロキシ設定なし
set mode=
set /p mode=
if "%mode%"=="0" goto PROXY_SETTING_START
if "%mode%"=="1" goto DHCP_SETTING_START
if "%mode%"=="2" goto IP_SETTING_START
echo "入力エラー"
goto SETTIN_END
:PROXY_SETTING_START
echo プロキシを設定します
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t reg_dword /d 1
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyServer /t reg_sz /d http://hogehoge:8080
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyOverride /t reg_sz /d "*.hoge.hogehoge.co.jp;*.in.hogehoge.co.jp;192.168.*;<local>"
echo %interface_name%を優先LANにします
netsh interface ipv4 set interface %interface_idx% met=%interface_met_pri%
netsh interface ipv4 set interface %interface_idx_wifi% met=%interface_met_sub%
:IP_SETTING_START
echo %interface_name%を固定IP設定に変更します
netsh interface ipv4 set add name="%interface_name%" source=static addr="192.168.13.89" mask="255.255.254.0" gateway="192.168.13.254" gwmetric=1
netsh interface ipv4 set dns "%interface_name%" source=static addr="192.168.99.10" register=non validate=no
netsh interface ipv4 add dns "%interface_name%" addr="192.168.99.11" index=2 validate=no
if "%mode%"=="2" goto PROXY_SETTING_DELETE_START
goto SETTIN_END
:DHCP_SETTING_START
echo %interface_name%のDHCPを有効にします
netsh interface ipv4 set address "%interface_name%" dhcp
netsh interface ipv4 set dns "%interface_name%" dhcp
:PROXY_SETTING_DELETE_START
echo プロキシの設定を解除します
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t reg_dword /d 0
echo %interface_name%を次優先LANにします
netsh interface ipv4 set interface %interface_idx% met=%interface_met_sub%
netsh interface ipv4 set interface %interface_idx_wifi% met=%interface_met_pri%
goto SETTIN_END
:SETTIN_END
pause
exit
他にもニッチなIT関連要素をまとめていますので、よければ一覧記事もご覧ください。