このブログを検索

この記事の内容は、個人の見解、検証の範囲のものであり、誤りがある可能性があります。
個人の責任において情報活用をお願いします。


ラベル #VyOS の投稿を表示しています。 すべての投稿を表示
ラベル #VyOS の投稿を表示しています。 すべての投稿を表示

2018年4月1日日曜日

【VyOS】VyOSでWebプロキシサーバーを設定してみた その3 ブラックリストを利用してみよう 利用編


だいぶ時間が経ってしまいましたが、私が検証でよく使うVyOSを使ったWebプロキシをいろいろと試してみたいと思います。

~VyOSでWebプロキシを設定してみた~
1.Webプロキシを試してみた
2.ホワイトリストを試してみた
3.ブラックリストを試してみた 
  準備編 その1:ブラックリストをダウンロード
  準備編 その2:ブラックリストを確認
  利用編 ブラックリストを利用 ←今回

前回、ブラックリストファイルの内容の一部を確認しました。
今回はダウンロードしたブラックリストファイルを利用します。



下記コマンドを設定します。
ブラックリストカテゴリ"shopping"に含まれるWebサイトの閲覧は禁止し、それ以外のWebサイトの閲覧は全て許可します。

set service webproxy url-filtering squidguard block-category 'shopping'
set service webproxy url-filtering squidguard default-action 'allow'

今回利用するWebプロキシの全体の設定は下記となります。

set service webproxy cache-size '100'
set service webproxy default-port '3128'
set service webproxy listen-address 192.168.129.133 port '3128'
set service webproxy url-filtering squidguard block-category 'shopping'
set service webproxy url-filtering squidguard default-action 'allow'

この設定を適用後、YAHOO!JAPANのWebサイトへアクセスするとWebページが表示されます。


ブラックリストカテゴリ"shopping"を設定している為、ドメインがVyOSのブラックリストカテゴリ"shopping"に含まれるAmazonや楽天のWebサイトを表示できません。



ブラックリストカテゴリにドメインが含まれているWebサイトを表示したい場合は、”set service webproxy url-filtering squidguard local-ok”コマンドを設定します。表示できなかったAmazonと楽天のドメインをlocal-okコマンドで追加します。

set service webproxy url-filtering squidguard local-ok rakuten.co.jp
set service webproxy url-filtering squidguard local-ok amazon.co.jp
コマンド設定後、楽天とAmazon.co.jpのWebサイトが表示されるようになります。



しかし、Amazon.comのWebサイトはlocal-okに追加されていない為、表示されません。

Webプロキシのログは下記コマンドで確認できます。

vyos@vyos:~$ show webproxy log
1522586181.237   3674 192.168.129.1 TCP_MISS/200 52453 CONNECT s.yimg.jp:443 - DIRECT/182.22.31.252 -
1522586188.217  13980 192.168.129.1 TCP_MISS/200 73966 CONNECT www.yahoo.co.jp:443 - DIRECT/182.22.31.124 -
1522586188.638  11045 192.168.129.1 TCP_MISS/200 7034 CONNECT chart.yahoo.co.jp:443 - DIRECT/182.22.31.124 -
1522586188.877  11319 192.168.129.1 TCP_MISS/200 5660 CONNECT yads.c.yimg.jp:443 - DIRECT/182.22.31.124 -
1522586189.106  14095 192.168.129.1 TCP_MISS/200 32728 CONNECT s.yimg.jp:443 - DIRECT/182.22.31.252 -
1522586189.163  11592 192.168.129.1 TCP_MISS/200 6200 CONNECT s.yimg.jp:443 - DIRECT/182.22.31.252 -
1522586189.366  14676 192.168.129.1 TCP_MISS/200 9826 CONNECT s.yimg.jp:443 - DIRECT/182.22.31.252 -
1522586189.376  11739 192.168.129.1 TCP_MISS/200 8960 CONNECT yads.yjtag.yahoo.co.jp:443 - DIRECT/182.22.31.124 -
1522586189.827  14816 192.168.129.1 TCP_MISS/200 6865 CONNECT s.yimg.jp:443 - DIRECT/182.22.31.252 -
1522586190.178  11210 192.168.129.1 TCP_MISS/200 6105 CONNECT b4.yahoo.co.jp:443 - DIRECT/183.79.250.123 -

~中略~

1522588927.011  32319 192.168.129.1 TCP_MISS/200 3205 CONNECT www.blogger.com:443 - DIRECT/216.58.197.9 -
1522588927.530 240323 192.168.129.1 TCP_MISS/200 5448 CONNECT accounts.google.com:443 - DIRECT/172.217.26.109 -
1522588948.073  61603 192.168.129.1 TCP_MISS/200 4556 CONNECT v10.vortex-win.data.microsoft.com:443 - DIRECT/111.221.29.254 -
1522588958.440 240428 192.168.129.1 TCP_MISS/200 3522 CONNECT safebrowsing.googleapis.com:443 - DIRECT/216.58.199.234 -
1522589007.365 243112 192.168.129.1 TCP_MISS/200 72089 CONNECT lh3.googleusercontent.com:443 - DIRECT/172.217.161.225 -
1522589037.468    608 192.168.129.1 TCP_MISS/200 4926 CONNECT 0.client-channel.google.com:443 - DIRECT/108.177.97.189 -
1522589038.092    615 192.168.129.1 TCP_MISS/200 5184 CONNECT 0.client-channel.google.com:443 - DIRECT/108.177.97.189 -
1522589067.640 240607 192.168.129.1 TCP_MISS/200 35929 CONNECT 1.bp.blogspot.com:443 - DIRECT/216.58.197.1 -
1522589067.843 240810 192.168.129.1 TCP_MISS/200 203109 CONNECT 4.bp.blogspot.com:443 - DIRECT/216.58.197.1 -
1522589067.930 240898 192.168.129.1 TCP_MISS/200 193595 CONNECT 2.bp.blogspot.com:443 - DIRECT/216.58.197.1 -
vyos@vyos:~$

Webプロキシのアクセスログは下記ディレクトリに保存されています。

vyos@vyos:/var/log/squid3$ ls -l
total 204
-rw-r--r-- 1 proxy proxy 187746 Apr  1 22:35 access.log
-rw-r----- 1 proxy proxy  19141 Apr  1 22:13 cache.log
vyos@vyos:/var/log/squid3$
デフォルト設定のままだとWebプロキシのログで表示される時間がわかりにくいです。
次回、Webプロキシのログ表示のタイムスタンプをわかりやすく変更します。それでは。

【VyOS】VyOSでWebプロキシサーバーを設定してみた その3 ブラックリストを利用してみよう 準備編 その2


だいぶ時間が経ってしまいましたが、私が検証でよく使うVyOSを使ったWebプロキシをいろいろと試してみたいと思います。

~VyOSでWebプロキシを設定してみた~
1.Webプロキシを試してみた
2.ホワイトリストを試してみた
3.ブラックリストを試してみた 
  準備編 その1:ブラックリストをダウンロード
  準備編 その2:ブラックリストを確認 ←今回

前回、Webプロキシのブラックリストファイルをダウンロードしました。
今回、ブラックリストファイルの内容を確認します。



下記コマンドを実行し、ブラックリストファイルに登録されているドメインを確認します。


show webproxy blacklist domains


登録されている大量のドメインが全て表示されます。


vyos@vyos:~$ show webproxy blacklist domains
0nlinemeds.com
1-2-money.com
103092804.com
167.216.142.116
193.128.61.168
193.210.156.114
193.71.196.108
193.71.196.113
193.71.196.126
193.71.196.138
193.71.196.139
193.71.196.184
194.202.238.102
194.231.79.38
194.237.107.11
<以下、省略>


ダウンロードしたブラックリストファイルのカテゴリに登録されているドメインを確認します。
下記コマンドを実施し、カテゴリ"shopping"に含まれる".jp"ドメインを表示します。

show webproxy blacklist domains shopping | grep .jp


Amazonなどのショッピングサイトが含まれていることが確認できます。

vyos@vyos:~$ show webproxy blacklist domains shopping | grep .jp
104web.co.jp
1999.co.jp
2-u.co.jp
2pcs.jp
5055.co.jp
5jp.com
7andy.jp
abc-hanko.jp
abekama.co.jp
aflat.jp
airbrush.co.jp
aji.co.jp
ajprindle.com
all-american-jp.com
alpage.co.jp
alps-kogyo.co.jp
amazon.co.jp
ameyoko-sanko.co.jp
anbe.jp
aokihimono.co.jp
apress.co.jp
aquaside.co.jp
aranet.co.jp
araumi.jp
archivesnet.jp
ariete.jp
arte-shop.jp
asianpower.co.jp
aussie-fan.co.jp
<以下、省略>


”show webproxy blacklist search”コマンドを利用するとどのカテゴリにドメインが含まれているか確認することができます。


vyos@vyos:~$ show webproxy blacklist search .jp
ads/domains     adlantis.jp
adult/domains     -porn-dvd-clips-.blogspot.jp
adult/domains     -porno-sample-vids-.blogspot.jp
adult/domains     000iblogchix.blogspot.jp
adult/domains     0085256969.blogspot.jp
adult/domains     01-18ansanal.blogspot.jp
adult/domains     01800.blogspot.jp
adult/domains     01fragments.blogspot.jp
adult/domains     01tv.jp
adult/domains     02-analsexvideobbwporn.blogspot.jp
adult/domains     02-lyceennesalope.blogspot.jp
adult/domains     02-vieillesalopevideo.blogspot.jp
adult/domains     03films-allopass.blogspot.jp
adult/domains     0e0.jp
adult/domains     0lagersexposed.blogspot.jp
adult/domains     1-adultfriendfinder.blogspot.jp
adult/domains     1-black-tube.blogspot.jp
adult/domains     1-free-porno.blogspot.jp
adult/domains     1-porn-videos-youporn.blogspot.jp
adult/domains     1-porn-youporn.blogspot.jp
adult/domains     1-porno-free.blogspot.jp
adult/domains     1-porno-tube.blogspot.jp
adult/domains     1-porno-youporn.blogspot.jp
<以下、省略>


今回はダウンロードしたブラックリストファイルに含まれるドメインを確認しました。
次回は実際にブラックリストを利用してみます。それでは。

2018年3月29日木曜日

【VyOS】VyOSでWebプロキシサーバーを設定してみた その3 ブラックリストを利用してみよう 準備編 その1


だいぶ時間が経ってしまいましたが、私が検証でよく使うVyOSを使ったWebプロキシをいろいろと試してみたいと思います。

~VyOSでWebプロキシを設定してみた~
1.Webプロキシを試してみた
2.ホワイトリストを試してみた
3.ブラックリストを試してみた 
  準備編 その1:ブラックリストをダウンロード ←今回



今回から数回に渡り、Webプロキシのブラックリストを試してみます。
今回は準備編です。VyOSに手動でブラックリストを設定することもできますが、用意されているブラックリストファイルをダウンロードして利用することもできます。今回は、用意されているブラックリストファイルをダウンロードしてVyOSでブラックリストを利用できるようにします。ダウンロードは以下のコマンドを実行します。

update webproxy blacklists
実際に実行すると下記のようにブラックリストのファイルがダウンロードされ、VyOSに展開されます。
ファイルはヨーロッパにある大学のFTPサーバーからダウンロードされます。

vyos@vyos:~$ update webproxy blacklists
Would you like to re-download the blacklist? [confirm][y]
Connecting to ftp.univ-xxxx.xx (xxx.xx.xx.xxx:21)
blacklists.gz        100% |**********************************************************| 10858k 00:00:00 ETA
Uncompressing blacklist...
Checking permissions...
Skip link for   [ads] -> [publicite]
Building DB for [adult/domains] - 1926933 entries
Building DB for [adult/urls] - 67608 entries
Skip link for   [aggressive] -> [agressif]
Building DB for [agressif/domains] - 324 entries
Building DB for [agressif/urls] - 36 entries
Building DB for [arjel/domains] - 69 entries
Building DB for [associations_religieuses/domains] - 1 entries
Building DB for [astrology/domains] - 28 entries
Building DB for [astrology/urls] - 1 entries
Building DB for [audio-video/domains] - 3237 entries
Building DB for [audio-video/urls] - 162 entries
Building DB for [bank/domains] - 1698 entries
Building DB for [bitcoin/domains] - 252 entries
Building DB for [bitcoin/urls] - 3 entries
Building DB for [blog/domains] - 1469 entries
Building DB for [blog/urls] - 2 entries
Building DB for [celebrity/domains] - 636 entries
Building DB for [celebrity/urls] - 39 entries
Building DB for [chat/domains] - 213 entries
Building DB for [chat/urls] - 17 entries
Building DB for [child/domains] - 68 entries
Building DB for [child/urls] - 2 entries
Building DB for [cleaning/domains] - 170 entries
Building DB for [cleaning/urls] - 3 entries
Building DB for [cooking/domains] - 16 entries
Building DB for [cryptojacking/domains] - 2522 entries
Building DB for [dangerous_material/domains] - 28 entries
Building DB for [dangerous_material/urls] - 21 entries
Building DB for [dating/domains] - 3563 entries
Building DB for [dating/urls] - 10 entries
Building DB for [ddos/domains] - 232 entries
Building DB for [download/domains] - 51 entries
Building DB for [download/urls] - 15 entries
Building DB for [drogue/domains] - 591 entries
Building DB for [drogue/urls] - 464 entries
Skip link for   [drugs] -> [drogue]
Building DB for [educational_games/domains] - 8 entries
Building DB for [educational_games/urls] - 2 entries
Building DB for [filehosting/domains] - 825 entries
Building DB for [filehosting/urls] - 8 entries
Building DB for [financial/domains] - 79 entries
Building DB for [financial/urls] - 1 entries
Building DB for [forums/domains] - 189 entries
Building DB for [forums/urls] - 20 entries
Building DB for [gambling/domains] - 1116 entries
Building DB for [gambling/urls] - 4 entries
Building DB for [games/domains] - 9557 entries
Building DB for [games/urls] - 1592 entries
Building DB for [hacking/domains] - 268 entries
Building DB for [hacking/urls] - 33 entries
Building DB for [jobsearch/domains] - 385 entries
Building DB for [lingerie/domains] - 65 entries
Building DB for [lingerie/urls] - 6 entries
Building DB for [liste_blanche/domains] - 239 entries
Building DB for [liste_blanche/urls] - 2 entries
Building DB for [liste_bu/domains] - 2743 entries
Building DB for [liste_bu/urls] - 94 entries
Building DB for [local-ok-default/domains] - 1 entries
Building DB for [local-ok-url-default/urls] - 1 entries
Skip link for   [mail] -> [forums]
Building DB for [malware/domains] - 3478 entries
Building DB for [malware/urls] - 11365 entries
Building DB for [malware/expressions] - 1 entries
Building DB for [manga/domains] - 542 entries
Building DB for [manga/urls] - 194 entries
Building DB for [marketingware/domains] - 819 entries
Building DB for [marketingware/urls] - 2 entries
Building DB for [mixed_adult/domains] - 145 entries
Building DB for [mixed_adult/urls] - 7 entries
Building DB for [mobile-phone/domains] - 44 entries
Building DB for [mobile-phone/urls] - 2 entries
Building DB for [phishing/domains] - 63502 entries
Building DB for [phishing/urls] - 6 entries
Skip link for   [porn] -> [adult]
Building DB for [press/domains] - 4451 entries
Building DB for [press/urls] - 1 entries
Skip link for   [proxy] -> [redirector]
Building DB for [publicite/domains] - 1123 entries
Building DB for [publicite/urls] - 306 entries
Building DB for [publicite/expressions] - 1 entries
Building DB for [radio/domains] - 484 entries
Building DB for [radio/urls] - 10 entries
Building DB for [reaffected/domains] - 7 entries
Building DB for [reaffected/urls] - 1 entries
Building DB for [redirector/domains] - 129148 entries
Building DB for [redirector/urls] - 292 entries
Building DB for [remote-control/domains] - 41 entries
Building DB for [remote-control/urls] - 1 entries
Building DB for [sect/domains] - 143 entries
Building DB for [sect/urls] - 1 entries
Building DB for [sexual_education/domains] - 11 entries
Building DB for [sexual_education/urls] - 8 entries
Building DB for [shopping/domains] - 36401 entries
Building DB for [shopping/urls] - 3 entries
Building DB for [shortener/domains] - 262 entries
Building DB for [social_networks/domains] - 641 entries
Building DB for [social_networks/urls] - 1 entries
Building DB for [special/domains] - 1 entries
Building DB for [special/expressions] - 1 entries
Building DB for [sports/domains] - 2277 entries
Building DB for [strict_redirector/domains] - 129148 entries
Building DB for [strict_redirector/urls] - 21 entries
Building DB for [strict_redirector/expressions] - 1 entries
Building DB for [strong_redirector/domains] - 129148 entries
Building DB for [strong_redirector/urls] - 21 entries
Building DB for [strong_redirector/expressions] - 1 entries
Building DB for [translation/domains] - 166 entries
Building DB for [translation/urls] - 4 entries
Building DB for [tricheur/domains] - 27 entries
Building DB for [tricheur/urls] - 19 entries
Building DB for [update/domains] - 5 entries
Skip link for   [violence] -> [agressif]
Building DB for [warez/domains] - 885 entries
Building DB for [warez/urls] - 14 entries
Building DB for [webmail/domains] - 332 entries
Building DB for [webmail/urls] - 9 entries

The webproxy daemon must be restarted
Would you like to restart it now? [confirm][y]
Restarting Squid HTTP Proxy 3.x: squid3 Waiting.....................done.
.
vyos@vyos:~$
ダウンロードしたブラックリストには何が含まれているのか確認します。
まず、VyOSでブラックリストを確認するコマンドを確認します。
vyos@vyos:~$ show webproxy blacklist まで入力しタブキーを押します。

vyos@vyos:~$ show webproxy blacklist 
Possible completions:
  categories    Show webproxy blacklist categories
  domains       Show webproxy blacklist domains
  log           Show contents of webproxy blacklist log
  search        Show webproxy blacklist search
  urls          Show webproxy blacklist urls


vyos@vyos:~$

ブラックリストのカテゴリ、ドメイン、ログ、検索、URLを確認できるようです。
今回は、カテゴリーを確認します。下記コマンドを実行します。

show webproxy blacklist categories
下記カテゴリを利用できることが確認できます。

vyos@vyos:~$ show webproxy blacklist categories
ads
adult
aggressive
agressif
arjel
associations_religieuses
astrology
audio-video
bank
bitcoin
blog
celebrity
chat
child
cleaning
cooking
cryptojacking
dangerous_material
dating
ddos
dialer
download
drogue
drugs
educational_games
filehosting
financial
forums
gambling
games
hacking
jobsearch
lingerie
liste_blanche
liste_bu
local-ok-default
local-ok-url-default
mail
malware
manga
marketingware
mixed_adult
mobile-phone
phishing
porn
press
proxy
publicite
radio
reaffected
redirector
remote-control
sect
sexual_education
shopping
shortener
social_networks
special
sports
strict_redirector
strong_redirector
translation
tricheur
update
violence
warez
webmail
vyos@vyos:~$
どんなカテゴリを利用できるのかわかりました。
では、カテゴリにはどんなドメインが入っているのか?
次回、確認してみます。それでは。

【VyOS】VyOSでWebプロキシサーバーを設定してみた その2 ホワイトリストを試してみた


だいぶ時間が経ってしまいましたが、私が検証でよく使うVyOSを使ったWebプロキシをいろいろと試してみたいと思います。

~VyOSでWebプロキシを設定してみた~
1.Webプロキシを試してみた
2.ホワイトリストを試してみた ← 今回



前回はVyOSにWebプロキシを設定し、Webプロキシが利用できることを確認しました。
今回はホワイトリストを設定して許可したドメイン以外へアクセスできないことを確認します。
今回は下記ドメインへのアクセスは許可し、他のドメインはすべて拒否します。

<許可ドメイン>
  • yahoo.co.jp
  • www.blogger.com
  • google.com
  • techblog-cidept.blogspot.jp
  • google.co.jp
以下のコマンドを設定します。

set service webproxy url-filtering squidguard default-action 'block'
set service webproxy url-filtering squidguard local-ok 'yahoo.co.jp'
set service webproxy url-filtering squidguard local-ok 'www.blogger.com'
set service webproxy url-filtering squidguard local-ok 'google.com'
set service webproxy url-filtering squidguard local-ok 'techblog-cidept.blogspot.jp'
set service webproxy url-filtering squidguard local-ok 'google.co.jp'
VyOSでWebプロキシを有効にするには、以下のコマンドを設定します。

set service webproxy default-port '3128'
set service webproxy listen-address 192.168.129.133 port '3128'
ブラウザのプロキシをVyOSに設定し、実際に動作を確かめます。
ブラウザからYahoo!JAPANのWebサイトへアクセスします。


ページは表示されましたが、画像などは表示されません。
ブラウザの機能を利用して、ページのソースを表示を確認します。


yimg.jpから画像などのコンテンツを取得しているようです。
VyOSに設定を追加します。

set service webproxy url-filtering squidguard local-ok yimg.jp
commit
今度は画像や広告を含め正常にページが表示されました。


許可したドメインのWebサイトに設定されているリンク先ドメインがVyOSプロキシの許可リストに含まれていない場合、ページは表示されません。Yahoo!JAPAN上のFacebookページへのリンクをクリックすると、下記のように表示されます。


Yahoo天気などVyOSに登録したドメインと一致していれば下記のようにWebサイトを表示できます。


今回は、VyOSのWebプロキシでホワイトリストを設定し確認しました。
『set service webproxy url-filtering squidguard default-action 'block'』コマンドでホワイトリストに設定していない通信を全て拒否し、『set service webproxy url-filtering squidguard local-ok』コマンドで閲覧を許可するドメインを設定しました。
最近ではWebサイトで表示するコンテンツの一部をAWSS3などクラウド上のオブジェクトストレージから取得してホームページを形成しているサイトが多くなっています。そのため、Webプロキシをホワイトリストで設定したい場合、表示したいサイトのソースを確認する必要があります。次回は、ブラックリストを設定します。今回の全体Configは下記となります。参考まで。

vyos@vyos# run show configuration commands
set interfaces ethernet eth0 address 'dhcp'
set interfaces ethernet eth0 duplex 'auto'
set interfaces ethernet eth0 hw-id '00:0c:29:02:82:5f'
set interfaces ethernet eth0 smp_affinity 'auto'
set interfaces ethernet eth0 speed 'auto'
set interfaces ethernet eth1 address '10.0.0.1/24'
set interfaces ethernet eth1 duplex 'auto'
set interfaces ethernet eth1 hw-id '00:0c:29:02:82:69'
set interfaces ethernet eth1 smp_affinity 'auto'
set interfaces ethernet eth1 speed 'auto'
set interfaces loopback 'lo'
set nat source rule 1 description 'Internal-to-External-NAPT'
set nat source rule 1 outbound-interface 'eth0'
set nat source rule 1 source address '10.0.0.0/8'
set nat source rule 1 translation address 'masquerade'
set service dhcp-server disabled 'false'
set service dhcp-server shared-network-name dhcp-pool-1 authoritative 'disable'
set service dhcp-server shared-network-name dhcp-pool-1 description 'lab-1-dhcp'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 default-router '10.0.0.1'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 dns-server '10.0.0.1'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-name 'lab.local'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-search 'lab.local'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 lease '86400'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 start 10.0.0.64 stop '10.0.0.223'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 static-route destination-subnet '172.16.0.0/24'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 static-route router '10.0.0.2'
set service dns forwarding cache-size '150'
set service dns forwarding listen-on 'eth0'
set service dns forwarding listen-on 'eth1'
set service dns forwarding name-server '8.8.8.8'
set service ssh port '22'
set service webproxy default-port '3128'
set service webproxy listen-address 192.168.129.133 port '3128'
set service webproxy url-filtering squidguard default-action 'block'
set service webproxy url-filtering squidguard local-ok 'yahoo.co.jp'
set service webproxy url-filtering squidguard local-ok 'www.blogger.com'
set service webproxy url-filtering squidguard local-ok 'google.com'
set service webproxy url-filtering squidguard local-ok 'techblog-cidept.blogspot.jp'
set service webproxy url-filtering squidguard local-ok 'google.co.jp'
set service webproxy url-filtering squidguard local-ok 'yimg.jp'
set system config-management commit-revisions '20'
set system console device ttyS0 speed '9600'
set system host-name 'vyos'
set system login user vyos authentication encrypted-password '$1$[password]'
set system login user vyos authentication plaintext-password ''
set system login user vyos level 'admin'
set system name-server '8.8.8.8'
set system name-server '8.8.4.4'
set system ntp server 'ntp.nict.jp'
set system package auto-sync '1'
set system package repository community components 'main'
set system package repository community distribution 'helium'
set system package repository community password ''
set system package repository community url 'http://packages.vyos.net/vyos'
set system package repository community username ''
set system syslog global facility all level 'notice'
set system syslog global facility protocols level 'debug'
set system time-zone 'Asia/Tokyo'
[edit]
vyos@vyos#
[edit]
vyos@vyos# run show version
Version:      VyOS 1.1.8
Description:  VyOS 1.1.8 (helium)
Copyright:    2017 VyOS maintainers and contributors
Built by:     maintainers@vyos.net
Built on:     Sat Nov 11 13:44:36 UTC 2017
Build ID:     1711111344-b483efc
System type:  x86 64-bit
Boot via:     image
Hypervisor:   VMware
HW model:     VMware Virtual Platform
HW S/N:       VMware-56 4d ae 3d f9 2d 50 57-ff 4a 2f 72 c5 02 82 5f
HW UUID:      564DAE3D-F92D-5057-FF4A-2F72C502825F
Uptime:       01:14:59 up 1 day,  3:03,  2 users,  load average: 0.08, 0.03, 0.05

[edit]
vyos@vyos#
[edit]
vyos@vyos# ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:02:82:5f brd ff:ff:ff:ff:ff:ff
    inet 192.168.129.133/24 brd 192.168.129.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe02:825f/64 scope link
       valid_lft forever preferred_lft forever
3: eth1:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:02:82:69 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 brd 10.0.0.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe02:8269/64 scope link
       valid_lft forever preferred_lft forever
[edit]
vyos@vyos#



2018年3月27日火曜日

【VyOS】ファイアウォールでグループアドレスを利用してみた

VyOSでファイアウォールを設定することがあります。
VyOSのファイアウォール設定では下記のようにファイアウォールを設定します。
ファイアウォール設定例

set firewall name fw-test rule 1 action 'accept'
set firewall name fw-test rule 1 destination address '0.0.0.0/0'
set firewall name fw-test rule 1 source address '192.168.0.0/24'
set firewall name fw-test rule 2 action 'accept'
set firewall name fw-test rule 2 destination address '0.0.0.0/0'
set firewall name fw-test rule 2 source address '192.168.1.0/24'
set firewall name fw-test rule 2 
・・・
同じようなルールを適用する対象ノードが多くなるとその分ルール数も増え、設定する行数も増えていきます。グループ機能を使うことで設定をまとめることができます。グループとして設定できるのは下記3種類です。

vyos@vyos# set firewall group
Possible completions:
+> address-group
                Firewall address-group
+> network-group
                Firewall network-group
+> port-group   Firewall port-group


[edit]
vyos@vyos# set firewall group
今回はアドレスグループを設定します。
使用するパラメーターは下記とします。
  • アドレスグループ名:node-fw-lab.local
  • 対象アドレス:10.0.0.64/32

set firewall group address-group node-fw-lab.local address '10.0.0.64'
set firewall group address-group node-fw-lab.local description 'FW-Grp-test'

設定したアドレスグループを利用してファイアウォールを設定します。
使用するパラメーターは下記とします。
  • ファイアウォール名:fw-lab.local
  • ルール番号:1
  • 動作:accept
  • 宛先アドレス:ANY
  • 送信元アドレスグループ:node-fw-lab.local
  • サービス:ANY

set firewall name fw-lab.local default-action 'drop'
set firewall name fw-lab.local rule 1 action 'accept'
set firewall name fw-lab.local rule 1 description 'FW-Grp-test'
set firewall name fw-lab.local rule 1 destination address '0.0.0.0/0'
set firewall name fw-lab.local rule 1 log 'enable'
set firewall name fw-lab.local rule 1 protocol 'all'
set firewall name fw-lab.local rule 1 source group address-group 'node-fw-lab.local'

設定した10.0.0.64を持つWindowsサーバーからインターネットへ通信できるか確認します。ブラウザからYAHOO!ニュースを閲覧します。閲覧できました。


VyOSのファイアウォール設定でlogオプションを有効にすると下記のように該当ファイアウォールルールを通過するトラフィックログを確認できます。

show log firewall name fw-lab.local


VyOSでファイアウォールを設定する場合、最初にアドレスグループの利用を検討しても良いかと思います。それでは。
下記は今回の設定Configです。参考まで。

vyos@vyos# run show configuration commands
set firewall all-ping 'enable'
set firewall broadcast-ping 'disable'
set firewall config-trap 'disable'
set firewall group address-group node-fw-lab.local address '10.0.0.64'
set firewall group address-group node-fw-lab.local description 'FW-Grp-test'
set firewall ipv6-receive-redirects 'disable'
set firewall ipv6-src-route 'disable'
set firewall ip-src-route 'disable'
set firewall log-martians 'enable'
set firewall name fw-lab.local default-action 'drop'
set firewall name fw-lab.local rule 1 action 'accept'
set firewall name fw-lab.local rule 1 description 'FW-Grp-test'
set firewall name fw-lab.local rule 1 destination address '0.0.0.0/0'
set firewall name fw-lab.local rule 1 log 'enable'
set firewall name fw-lab.local rule 1 protocol 'all'
set firewall name fw-lab.local rule 1 source group address-group 'node-fw-lab.local'
set firewall name fw-test default-action 'drop'
set firewall name fw-test rule 1 action 'accept'
set firewall name fw-test rule 1 destination address '0.0.0.0/0'
set firewall name fw-test rule 1 source address '192.168.0.0/24'
set firewall name fw-test rule 2 action 'accept'
set firewall name fw-test rule 2 destination address '0.0.0.0/0'
set firewall name fw-test rule 2 source address '192.168.1.0/24'
set firewall name fw-test rule 3 action 'accept'
set firewall name fw-test rule 3 destination address '0.0.0.0/0'
set firewall name fw-test rule 3 source address '192.168.0.0/16'
set firewall name fw-test rule 4 action 'accept'
set firewall name fw-test rule 4 destination address '0.0.0.0/0'
set firewall name fw-test rule 4 source address '10.0.0.0/8'
set firewall receive-redirects 'disable'
set firewall send-redirects 'enable'
set firewall source-validation 'disable'
set firewall syn-cookies 'enable'
set firewall twa-hazards-protection 'disable'
set interfaces ethernet eth0 address 'dhcp'
set interfaces ethernet eth0 duplex 'auto'
set interfaces ethernet eth0 hw-id '00:0c:29:02:82:5f'
set interfaces ethernet eth0 smp_affinity 'auto'
set interfaces ethernet eth0 speed 'auto'
set interfaces ethernet eth1 address '10.0.0.1/24'
set interfaces ethernet eth1 duplex 'auto'
set interfaces ethernet eth1 firewall in name 'fw-lab.local'
set interfaces ethernet eth1 hw-id '00:0c:29:02:82:69'
set interfaces ethernet eth1 smp_affinity 'auto'
set interfaces ethernet eth1 speed 'auto'
set interfaces loopback 'lo'
set nat source rule 1 description 'Internal-to-External-NAPT'
set nat source rule 1 outbound-interface 'eth0'
set nat source rule 1 source address '10.0.0.0/8'
set nat source rule 1 translation address 'masquerade'
set service dhcp-server disabled 'false'
set service dhcp-server shared-network-name dhcp-pool-1 authoritative 'disable'
set service dhcp-server shared-network-name dhcp-pool-1 description 'lab-1-dhcp'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 default-router '10.0.0.1'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 dns-server '10.0.0.1'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-name 'lab.local'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-search 'lab.local'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 lease '86400'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 start 10.0.0.64 stop '10.0.0.223'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 static-route destination-subnet '172.16.0.0/24'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 static-route router '10.0.0.2'
set service dns forwarding cache-size '150'
set service dns forwarding listen-on 'eth0'
set service dns forwarding listen-on 'eth1'
set service dns forwarding name-server '8.8.8.8'
set service ssh port '22'
set system config-management commit-revisions '20'
set system console device ttyS0 speed '9600'
set system host-name 'vyos'
set system login user vyos authentication encrypted-password '$1$[password]'
set system login user vyos authentication plaintext-password ''
set system login user vyos level 'admin'
set system name-server '8.8.8.8'
set system name-server '8.8.4.4'
set system ntp server 'ntp.nict.jp'
set system package auto-sync '1'
set system package repository community components 'main'
set system package repository community distribution 'helium'
set system package repository community password ''
set system package repository community url 'http://packages.vyos.net/vyos'
set system package repository community username ''
set system syslog global facility all level 'notice'
set system syslog global facility protocols level 'debug'
set system time-zone 'Asia/Tokyo'
[edit]
vyos@vyos#

【VyOS】VyOSでDHCPサーバを設定してみた その2 スタティックルート配布


VyOSでDHCPサーバーの設定を利用することが多いです。
VyOSでDHCPサーバー/クライアント、DHCPリレーを利用できます。
VyOSにDHCPサーバーを設定する方法は、下記VyOSのユーザーガイドに載っています。
VyOS ユーザーガイド
https://wiki.vyos-users.jp/index.php/
今回は、VyOSのDHCPサーバー機能を利用してスタティックルートが割り当てられるか確かめてみたいと思います。
以下に分けて記載します。
  1. 基本設定
  2. スタティックルート ← 今回

前回はDHCPサーバーの基本的な設定をしました。
今回はDHCPサーバーからDHCPクライアントへスタティックルートを設定します。
今回は下記パラメーターを設定します。
  • 宛先ネットワーク:172.16.0.0/24
  • ゲートウェイ:10.0.0.2
VyOSに下記設定を追加します。

  set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 static-route destination-subnet '172.16.0.0/24'
  set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 static-route router '10.0.0.2'

WindowsサーバーのNICをDHCPクライアントに設定し、VyOSに設定したDHCPサーバーからスタティックルートが割り当てられるか確認します。コマンドプロンプトよりroute printコマンドでルーティングを確認します。前回のブログでDHCPサーバーを設定した時に取得したルーティング情報が設定されています。デフォルトルートがVyOSに設定されていますが、スタティックルートの設定は反映されていません。


Windowsサーバーでipconfig /releaseを実行後、ipconfig /renewを実行します。


再度ルーティングを確認します。
VyOSに設定したスタティックルート172.16.0.0/24が追加されました。


DHCPクライアントに対してデフォルトゲートウェイ以外にルーティングを設定したい場合、簡単に設定できて良いですね。参考までに全体のConfigを記載します。それでは。

vyos@vyos# run show configuration commands
set interfaces ethernet eth0 address 'dhcp'
set interfaces ethernet eth0 duplex 'auto'
set interfaces ethernet eth0 hw-id '00:0c:29:02:82:5f'
set interfaces ethernet eth0 smp_affinity 'auto'
set interfaces ethernet eth0 speed 'auto'
set interfaces ethernet eth1 address '10.0.0.1/24'
set interfaces ethernet eth1 hw-id '00:0c:29:02:82:69'
set interfaces loopback 'lo'
set service dhcp-server shared-network-name dhcp-pool-1 description 'lab-1-dhcp'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 default-router '10.0.0.1'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 dns-server '10.0.0.1'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-name 'lab.local'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-search 'lab.local'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 lease '86400'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 start 10.0.0.64 stop '10.0.0.223'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 static-route destination-subnet '172.16.0.0/24'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 static-route router '10.0.0.2'
set service dns forwarding cache-size '150'
set service dns forwarding listen-on 'eth0'
set service dns forwarding name-server '8.8.8.8'
set service ssh port '22'
set system config-management commit-revisions '20'
set system console device ttyS0 speed '9600'
set system host-name 'vyos'
set system login user vyos authentication encrypted-password '$1$gQKpAFcp$ob1UcUoaavF1/5cA2l7f2/'
set system login user vyos authentication plaintext-password ''
set system login user vyos level 'admin'
set system name-server '8.8.8.8'
set system name-server '8.8.4.4'
set system ntp server 'ntp.nict.jp'
set system package auto-sync '1'
set system package repository community components 'main'
set system package repository community distribution 'helium'
set system package repository community password ''
set system package repository community url 'http://packages.vyos.net/vyos'
set system package repository community username ''
set system syslog global facility all level 'notice'
set system syslog global facility protocols level 'debug'
set system time-zone 'Asia/Tokyo'
[edit]
vyos@vyos#

【VyOS】VyOSでDHCPサーバを設定してみた その1 基本設定


VyOSでDHCPサーバーの設定を利用することが多いです。
VyOSでDHCPサーバー/クライアント、DHCPリレーを利用できます。
VyOSにDHCPサーバーを設定する方法は、下記VyOSのユーザーガイドに載っています。
VyOS ユーザーガイド
https://wiki.vyos-users.jp/index.php/
今回は、VyOSのDHCPサーバー機能を利用してスタティックルートが割り当てられるか確かめてみたいと思います。以下に分けて記載します。
  1. 基本設定
  2. スタティックルート

下記パラメーターを設定します。
  • 適用インターフェース:Eth1 10.0.0.1/24
  • DNSフォワ-ディング:有効
  • ネットワーク名(プール名):dhcp-pool-1
  • デフォルトゲートウェイ:10.0.0.1
  • DNSサーバー:10.0.0.1
  • IPアドレス範囲:10.0.0.64 ~ 10.0.0.223
  • ドメイン名:lab.local
  • 検索ドメイン名:lab.local
  • リース期間:86400秒(24時間)
DHCPサーバーの設定のみ下記に抜粋します。

  set service dhcp-server shared-network-name dhcp-pool-1 description 'lab-1-dhcp'
  set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 default-router '10.0.0.1'
  set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 dns-server '10.0.0.1'
  set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-name 'lab.local'
  set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-search 'lab.local'
  set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 lease '86400'
  set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 start 10.0.0.64 stop '10.0.0.223'
 commit 

Windowsサーバーで動作を確認します。


DHCPサーバーのリース情報は下記コマンドで確認できます。
show dhcp server leases pool dhcp-pool-1

vyos@vyos:~$ show dhcp server leases pool dhcp-pool-1

IP address       Hardware address   Lease expiration     Pool                      Client Name
----------       ----------------   ----------------     ----                      -----------
10.0.0.64        00:0c:29:3f:42:e5  2018/03/27 14:26:26  dhcp-pool-1               WIN-99NE1Q8OG7R
vyos@vyos:~$

下記コマンドでDHCPサーバーの統計情報を確認できます。
IPPoolに割り当てられたIPアドレスの総数、リースされているアドレス数、未使用IPアドレス数を確認できます。
show dhcp server statistics

vyos@vyos:~$ show dhcp server statistics

Pool                      Pool size   # Leased    # Avail
----                      ---------   --------    -------
dhcp-pool-1               160         1           159

vyos@vyos:~$

今回はDHCPサーバーを設定しました。
次回はDHCPサーバーからスタティックルートを割り当てます。
全体のConfigは以下となります。参考まで。

vyos@vyos# run show configuration commands
set interfaces ethernet eth0 address 'dhcp'
set interfaces ethernet eth0 duplex 'auto'
set interfaces ethernet eth0 hw-id '00:0c:29:02:82:5f'
set interfaces ethernet eth0 smp_affinity 'auto'
set interfaces ethernet eth0 speed 'auto'
set interfaces ethernet eth1 address '10.0.0.1/24'
set interfaces ethernet eth1 hw-id '00:0c:29:02:82:69'
set interfaces loopback 'lo'
set service dhcp-server shared-network-name dhcp-pool-1 description 'lab-1-dhcp'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 default-router '10.0.0.1'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 dns-server '10.0.0.1'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-name 'lab.local'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 domain-search 'lab.local'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 lease '86400'
set service dhcp-server shared-network-name dhcp-pool-1 subnet 10.0.0.0/24 start 10.0.0.64 stop '10.0.0.223'
set service dns forwarding cache-size '150'
set service dns forwarding listen-on 'eth0'
set service dns forwarding name-server '8.8.8.8'
set service ssh port '22'
set system config-management commit-revisions '20'
set system console device ttyS0 speed '9600'
set system host-name 'vyos'
set system login user vyos authentication encrypted-password '$1$[password]'
set system login user vyos authentication plaintext-password ''
set system login user vyos level 'admin'
set system name-server '8.8.8.8'
set system name-server '8.8.4.4'
set system ntp server 'ntp.nict.jp'
set system package auto-sync '1'
set system package repository community components 'main'
set system package repository community distribution 'helium'
set system package repository community password ''
set system package repository community url 'http://packages.vyos.net/vyos'
set system package repository community username ''
set system syslog global facility all level 'notice'
set system syslog global facility protocols level 'debug'
set system time-zone 'Asia/Tokyo'
[edit]
vyos@vyos#

2018年3月25日日曜日

【VyOS】VyOSでDNSフォワーディングを設定してみた その2 特定ドメインを指定DNSへフォワーディング


私は検証でよくVyOSを利用します。VyOSは必要なコンピュートリソースも少なく、インストールに利用するイメージサイズも小さい為、色々な場所で簡単に利用できてとても便利です。今回はDNSフォワーディングを設定してみます。VyOSにDNSフォワ-ディングを設定しておくとクライアントノードのDNS参照先をVyOSにすることができます。今回は2回に分けて下記内容をご紹介します。


<VyOSでDNSフォワーディング>
  1. DNSフォワ-ディング:基本設定
  2. DNSフォワ-ディング:特定ドメインを指定DNSへフォワーディング ← 今回

前回は、DNSフォワ-ディングの基本設定をしました。
今回は、特定のドメインを指定したDNSへフォワーディングする設定を追加します。
今回は以下を追加します。

  • フォワーディングするドメイン:lab.local
  • フォワーディング先:AD・DNS
AD情報は下記となります。


設定は簡単です。下記を設定し、Commitするだけです。

  set service dns forwarding domain lab.local server 192.168.129.135
 commit 

DNSをVyOSに設定したノードからad.lab.localへPingするとReplay応答が返ってきます。


今回はこの辺で。それでは。

【VyOS】VyOSでDNSフォワーディングを設定してみた その1 基本設定

私は検証でよくVyOSを利用します。VyOSは必要なコンピュートリソースも少なく、インストールに利用するイメージサイズも小さい為、色々な場所で簡単に利用できてとても便利です。今回はDNSフォワーディングを設定します。VyOSにDNSフォワ-ディングを設定しておくとクライアントノードのDNS参照先をVyOSにすることができます。今回は2回に分けて下記内容をご紹介します。


<VyOSでDNSフォワーディング>
  1. DNSフォワ-ディング:基本設定 ← 今回
  2. DNSフォワ-ディング:指定ドメインを指定DNSへフォワーディング


今回は、DNSフォワ-ディングの基本設定をし、DNSフォワ-ディングを有効化します。
DNSフォワ-ディングの設定は、Web Proxyの設定と同様にとても簡単です。
以下、2行を設定しCommitするだけです。
  set service dns forwarding listen-on 'eth0'
  set service dns forwarding name-server '8.8.8.8'
 commit 

今回、PCにVMware Workstation Playerをインストールし、VyOSをインストールしています。


作業端末のDNS設定をVyOSに変更し、名前解決できるか確認します。


まず、VyOSのIPアドレスを確認します。

 vyos@vyos:~$ ip addr
  1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      inet 127.0.0.1/8 scope host lo
         valid_lft forever preferred_lft forever
      inet6 ::1/128 scope host
         valid_lft forever preferred_lft forever
  2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
      link/ether 00:0c:29:02:82:5f brd ff:ff:ff:ff:ff:ff
      inet 192.168.129.133/24 brd 192.168.129.255 scope global eth0
         valid_lft forever preferred_lft forever
      inet6 fe80::20c:29ff:fe02:825f/64 scope link
         valid_lft forever preferred_lft forever
 vyos@vyos:~$
VyOSのIPアドレスは192.168.129.133です。
作業端末のDNS設定をVyOSに設定します。


作業端末のブラウザでWebサイトを閲覧できるか確認します。


nslookupコマンドより名前解決の際にVyOSを利用していることを確認します。


DNSフォワ-ディングに関する2つのshowコマンドがあったので試しに実行してみました。

show dns forwarding nameservers
show dns forwarding statistics
実行した結果は下記となります。
vyos@vyos:~$
vyos@vyos:~$ show dns forwarding nameservers
-----------------------------------------------
   Nameservers configured for DNS forwarding
-----------------------------------------------
8.8.8.8 available via 'statically configured'

-----------------------------------------------
 Nameservers NOT configured for DNS forwarding
-----------------------------------------------
8.8.4.4 available via 'system'
192.168.129.2 available via 'system'

vyos@vyos:~$ show dns forwarding statistics
----------------
Cache statistics
----------------
Cache size: 150
Queries forwarded: 152
Queries answered locally: 5
Total DNS entries inserted into cache: 233
DNS entries removed from cache before expiry: 0

---------------------
Nameserver statistics
---------------------
Server: 8.8.8.8
Queries sent: 152
Queries retried or failed: 21

vyos@vyos:~$
今回はVyOSにDNSフォワ-ディングを設定して利用できることを確認しました。
次回は特定のドメインのみ指定したDNSサーバーへフォワーディングします。
今回利用したVyOSの全設定内容は以下となります。参考まで。

vyos@vyos:~$ show configuration commands
  set interfaces ethernet eth0 address 'dhcp'
  set interfaces ethernet eth0 duplex 'auto'
  set interfaces ethernet eth0 hw-id '00:0c:29:02:82:5f'
  set interfaces ethernet eth0 smp_affinity 'auto'
  set interfaces ethernet eth0 speed 'auto'
  set interfaces loopback 'lo'
  set service dns forwarding listen-on 'eth0'
  set service dns forwarding name-server '8.8.8.8'
  set service ssh port '22'
  set system config-management commit-revisions '20'
  set system console device ttyS0 speed '9600'
  set system host-name 'vyos'
  set system login user vyos authentication encrypted-password '$1$[password]'
  set system login user vyos authentication plaintext-password ''
  set system login user vyos level 'admin'
  set system name-server '8.8.8.8'
  set system name-server '8.8.4.4'
  set system ntp server 'ntp.nict.jp'
  set system package auto-sync '1'
  set system package repository community components 'main'
  set system package repository community distribution 'helium'
  set system package repository community password ''
  set system package repository community url 'http://packages.vyos.net/vyos'
  set system package repository community username ''
  set system syslog global facility all level 'notice'
  set system syslog global facility protocols level 'debug'
  set system time-zone 'Asia/Tokyo'
  vyos@vyos:~$
  vyos@vyos:~$ show version
  Version:      VyOS 1.1.8
  Description:  VyOS 1.1.8 (helium)
  Copyright:    2017 VyOS maintainers and contributors
  Built by:     maintainers@vyos.net
  Built on:     Sat Nov 11 13:44:36 UTC 2017
  Build ID:     1711111344-b483efc
  System type:  x86 64-bit
  Boot via:     image
  Hypervisor:   VMware
  HW model:     VMware Virtual Platform
  HW S/N:       VMware-56 4d ae 3d f9 2d 50 57-ff 4a 2f 72 c5 02 82 5f
  HW UUID:      564DAE3D-F92D-5057-FF4A-2F72C502825F
  Uptime:       12:53:49 up 13:42,  2 users,  load average: 0.06, 0.03, 0.05
  
vyos@vyos:~$

2017年8月28日月曜日

【VyOS】VyOSでWebプロキシサーバーを設定してみた その1


検証やっているとWeb プロキシサーバーが欲しくなる場合があります。
LinuxでSquidでもいいと思いますが、VyOSでも簡単に設定できます。
しかも、コマンド操作で簡単。

VyOSをインストールしたら、下記コマンドを実行するだけです。


  set service webproxy listen-address [vyos-lan-ip-address] port '3128'

※ポート番号も任意の値に変更可


URLごとの制御もできるので、それはまた次回で。

現時点でのConfig
※FWまわりはあまり確認してません、、、


vyos@vyos:~$ show configuration commands
  set firewall all-ping 'enable'
  set firewall broadcast-ping 'disable'
  set firewall config-trap 'disable'
  set firewall group network-group Inside-Grp-1 network '192.168.201.0/24'
  set firewall ipv6-receive-redirects 'disable'
  set firewall ipv6-src-route 'disable'
  set firewall ip-src-route 'disable'
  set firewall log-martians 'enable'
  set firewall name WebProxy default-action 'drop'
  set firewall name WebProxy 'enable-default-log'
  set firewall name WebProxy rule 1 action 'accept'
  set firewall name WebProxy rule 1 destination address '192.168.201.254'
  set firewall name WebProxy rule 1 destination port '3128'
  set firewall name WebProxy rule 1 log 'enable'
  set firewall name WebProxy rule 1 protocol 'tcp'
  set firewall name WebProxy rule 1 source group network-group 'Inside-Grp-1'
  set firewall name WebProxy rule 1 state established 'enable'
  set firewall name WebProxy rule 1 state new 'enable'
  set firewall name WebProxy rule 1 state related 'enable'
  set firewall name WebProxy rule 2 action 'accept'
  set firewall name WebProxy rule 2 destination port '53'
  set firewall name WebProxy rule 2 log 'enable'
  set firewall name WebProxy rule 2 protocol 'tcp_udp'
  set firewall name WebProxy rule 2 source group network-group 'Inside-Grp-1'
  set firewall name WebProxy rule 2 state established 'enable'
  set firewall name WebProxy rule 2 state new 'enable'
  set firewall name WebProxy rule 2 state related 'enable'
  set firewall name WebProxy rule 3 action 'accept'
  set firewall name WebProxy rule 3 destination port '123'
  set firewall name WebProxy rule 3 log 'enable'
  set firewall name WebProxy rule 3 protocol 'udp'
  set firewall name WebProxy rule 3 source group network-group 'Inside-Grp-1'
  set firewall name WebProxy rule 3 state established 'enable'
  set firewall name WebProxy rule 3 state new 'enable'
  set firewall name WebProxy rule 3 state related 'enable'
  set firewall name WebProxy rule 998 action 'accept'
  set firewall name WebProxy rule 998 'destination'
  set firewall name WebProxy rule 998 icmp type-name 'any'
  set firewall name WebProxy rule 998 log 'disable'
  set firewall name WebProxy rule 998 protocol 'icmp'
  set firewall name WebProxy rule 998 source group network-group 'Inside-Grp-1'
  set firewall name WebProxy rule 999 action 'drop'
  set firewall name WebProxy rule 999 'destination'
  set firewall name WebProxy rule 999 log 'enable'
  set firewall name WebProxy rule 999 protocol 'all'
  set firewall name WebProxy rule 999 source group network-group 'Inside-Grp-1'
  set firewall receive-redirects 'enable'
  set firewall send-redirects 'enable'
  set firewall source-validation 'disable'
  set firewall state-policy established action 'accept'
  set firewall state-policy invalid action 'drop'
  set firewall state-policy related action 'accept'
  set firewall syn-cookies 'enable'
  set firewall twa-hazards-protection 'disable'
  set interfaces ethernet eth0 address 'dhcp'
  set interfaces ethernet eth0 duplex 'auto'
  set interfaces ethernet eth0 hw-id '00:0c:29:02:82:5f'
  set interfaces ethernet eth0 smp_affinity 'auto'
  set interfaces ethernet eth0 speed 'auto'
  set interfaces ethernet eth3 address '192.168.201.254/24'
  set interfaces ethernet eth3 duplex 'auto'
  set interfaces ethernet eth3 firewall 'in'
  set interfaces ethernet eth3 hw-id '00:0c:29:02:82:69'
  set interfaces ethernet eth3 smp_affinity 'auto'
  set interfaces ethernet eth3 speed 'auto'
  set interfaces loopback 'lo'
  set nat source rule 1 outbound-interface 'eth0'
  set nat source rule 1 source address '192.168.201.0/24'
  set nat source rule 1 translation address 'masquerade'
  set service dhcp-server disabled 'false'
  set service dhcp-server shared-network-name nw-1 authoritative 'disable'
  set service dhcp-server shared-network-name nw-1 description 'nw-1'
  set service dhcp-server shared-network-name nw-1 subnet 192.168.201.0/24 default-router '192.168.201.254'
  set service dhcp-server shared-network-name nw-1 subnet 192.168.201.0/24 dns-server '192.168.201.254'
  set service dhcp-server shared-network-name nw-1 subnet 192.168.201.0/24 lease '86400'
  set service dhcp-server shared-network-name nw-1 subnet 192.168.201.0/24 start 192.168.201.128 stop '192.168.201.223'
  set service dns forwarding cache-size '150'
  set service dns forwarding listen-on 'eth3'
  set service dns forwarding 'system'
  set service ssh port '22'
  set service webproxy cache-size '100'
  set service webproxy default-port '3128'
  set service webproxy listen-address 192.168.201.254 port '3128'
  set system config-management commit-revisions '20'
  set system console device ttyS0 speed '9600'
  set system host-name 'vyos'
  set system login user vyos authentication encrypted-password '$1$j2SQ0NtU$93940p5KV/f45IgGr3lqq.'
  set system login user vyos authentication plaintext-password ''
  set system login user vyos level 'admin'
  set system name-server '8.8.8.8'
  set system name-server '8.8.4.4'
  set system ntp server 'ntp.nict.jp'
  set system package auto-sync '1'
  set system package repository community components 'main'
  set system package repository community distribution 'helium'
  set system package repository community password ''
  set system package repository community url 'http://packages.vyos.net/vyos'
  set system package repository community username ''
  set system syslog global facility all level 'info'
  set system syslog global facility protocols level 'debug'
  set system time-zone 'Asia/Tokyo'
  set zone-policy zone Trust default-action 'drop'
  set zone-policy zone Trust interface 'eth3'
  set zone-policy zone Untrust default-action 'drop'
  set zone-policy zone Untrust from Trust firewall name 'WebProxy'
  set zone-policy zone Untrust interface 'eth0'
vyos@vyos:~$

2017年3月16日木曜日

【IDCFクラウド】VyOS間でIPIPトンネルの中にIPsecVPNを構成してみた その2

前回の続きです。




















Config抜粋 
<radian VyOS>
set interfaces ethernet eth0 address 'dhcp'
set interfaces ethernet eth0 duplex 'auto'
set interfaces ethernet eth0 smp_affinity 'auto'
set interfaces ethernet eth0 speed 'auto'
set interfaces tunnel tun0 address '172.16.0.1/30'
set interfaces tunnel tun0 encapsulation 'ipip'
set interfaces tunnel tun0 local-ip '10.13.0.100'
set interfaces tunnel tun0 multicast 'disable'
set interfaces tunnel tun0 remote-ip 'B.B.B.B'
set vpn ipsec esp-group ESP-G compression 'disable'
set vpn ipsec esp-group ESP-G lifetime '3600'
set vpn ipsec esp-group ESP-G mode 'tunnel'
set vpn ipsec esp-group ESP-G pfs 'dh-group2'
set vpn ipsec esp-group ESP-G proposal 1 encryption 'aes128'
set vpn ipsec esp-group ESP-G proposal 1 hash 'sha1'
set vpn ipsec ike-group IKE-G ikev2-reauth 'no'
set vpn ipsec ike-group IKE-G key-exchange 'ikev1'
set vpn ipsec ike-group IKE-G lifetime '28800'
set vpn ipsec ike-group IKE-G proposal 1 dh-group '2'
set vpn ipsec ike-group IKE-G proposal 1 encryption 'aes128'
set vpn ipsec ike-group IKE-G proposal 1 hash 'sha1'
set vpn ipsec ipsec-interfaces interface 'eth0'
set vpn ipsec nat-traversal 'enable'
set vpn ipsec site-to-site peer 172.16.0.2 authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer 172.16.0.2 authentication pre-shared-secret 'TestVPN1234567890'
set vpn ipsec site-to-site peer 172.16.0.2 connection-type 'initiate'
set vpn ipsec site-to-site peer 172.16.0.2 default-esp-group 'ESP-G'
set vpn ipsec site-to-site peer 172.16.0.2 ike-group 'IKE-G'
set vpn ipsec site-to-site peer 172.16.0.2 ikev2-reauth 'inherit'
set vpn ipsec site-to-site peer 172.16.0.2 local-address '172.16.0.1'
set vpn ipsec site-to-site peer 172.16.0.2 tunnel 1 allow-nat-networks 'disable'
set vpn ipsec site-to-site peer 172.16.0.2 tunnel 1 allow-public-networks 'disable'
set vpn ipsec site-to-site peer 172.16.0.2 tunnel 1 local prefix '10.13.0.0/21'
set vpn ipsec site-to-site peer 172.16.0.2 tunnel 1 remote prefix '10.11.0.0/21'

################################################

<newton VyOS>
set interfaces ethernet eth0 address 'dhcp'
set interfaces ethernet eth0 duplex 'auto'
set interfaces ethernet eth0 smp_affinity 'auto'
set interfaces ethernet eth0 speed 'auto'
set interfaces tunnel tun0 address '172.16.0.2/30'
set interfaces tunnel tun0 encapsulation 'ipip'
set interfaces tunnel tun0 local-ip '10.11.0.100'
set interfaces tunnel tun0 multicast 'disable'
set interfaces tunnel tun0 remote-ip 'A.A.A.A'
set vpn ipsec esp-group ESP-G compression 'disable'
set vpn ipsec esp-group ESP-G lifetime '3600'
set vpn ipsec esp-group ESP-G mode 'tunnel'
set vpn ipsec esp-group ESP-G pfs 'dh-group2'
set vpn ipsec esp-group ESP-G proposal 1 encryption 'aes128'
set vpn ipsec esp-group ESP-G proposal 1 hash 'sha1'
set vpn ipsec ike-group IKE-G ikev2-reauth 'no'
set vpn ipsec ike-group IKE-G key-exchange 'ikev1'
set vpn ipsec ike-group IKE-G lifetime '28800'
set vpn ipsec ike-group IKE-G proposal 1 dh-group '2'
set vpn ipsec ike-group IKE-G proposal 1 encryption 'aes128'
set vpn ipsec ike-group IKE-G proposal 1 hash 'sha1'
set vpn ipsec ipsec-interfaces interface 'eth0'
set vpn ipsec nat-traversal 'enable'
set vpn ipsec site-to-site peer 172.16.0.1 authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer 172.16.0.1 authentication pre-shared-secret 'TestVPN1234567890'
set vpn ipsec site-to-site peer 172.16.0.1 connection-type 'initiate'
set vpn ipsec site-to-site peer 172.16.0.1 default-esp-group 'ESP-G'
set vpn ipsec site-to-site peer 172.16.0.1 ike-group 'IKE-G'
set vpn ipsec site-to-site peer 172.16.0.1 ikev2-reauth 'inherit'
set vpn ipsec site-to-site peer 172.16.0.1 local-address '172.16.0.2'
set vpn ipsec site-to-site peer 172.16.0.1 tunnel 1 allow-nat-networks 'disable'
set vpn ipsec site-to-site peer 172.16.0.1 tunnel 1 allow-public-networks 'disable'
set vpn ipsec site-to-site peer 172.16.0.1 tunnel 1 local prefix '10.11.0.0/21'
set vpn ipsec site-to-site peer 172.16.0.1 tunnel 1 remote prefix '10.13.0.0/21'

##############################################

IPsec VPN確認

<radian VyOS>
vyos@vyos:~$ show vpn ike sa
Peer ID / IP                            Local ID / IP
------------                            -------------
172.16.0.2                              172.16.0.1

    State  Encrypt  Hash    D-H Grp  NAT-T  A-Time  L-Time
    -----  -------  ----    -------  -----  ------  ------
    up     aes128   sha1    2        no     1311    28800


vyos@vyos:~$ show vpn ipsec sa
Peer ID / IP                            Local ID / IP
------------                            -------------
172.16.0.2                              172.16.0.1

    Tunnel  State  Bytes Out/In   Encrypt  Hash    NAT-T  A-Time  L-Time  Proto
    ------  -----  -------------  -------  ----    -----  ------  ------  -----
    1       up     12.3K/8.0K     aes128   sha1    no     1315    3600    all
vyos@vyos:~$


<newton VyOS>
vyos@vyos:~$ show vpn ike sa
Peer ID / IP                            Local ID / IP
------------                            -------------
172.16.0.1                              172.16.0.2

    State  Encrypt  Hash    D-H Grp  NAT-T  A-Time  L-Time
    -----  -------  ----    -------  -----  ------  ------
    up     aes128   sha1    2        no     1785    28800


vyos@vyos:~$ show vpn ipsec sa
Peer ID / IP                            Local ID / IP
------------                            -------------
172.16.0.1                              172.16.0.2

    Tunnel  State  Bytes Out/In   Encrypt  Hash    NAT-T  A-Time  L-Time  Proto
    ------  -----  -------------  -------  ----    -----  ------  ------  -----
    1       up     8.0K/8.0K      aes128   sha1    no     1549    3600    all
vyos@vyos:~$

##############################################
Ping確認

<radian VyOS>
vyos@vyos:~$ ping 10.11.0.100 interface 10.13.0.100 count 4
PING 10.11.0.100 (10.11.0.100) from 10.13.0.100 : 56(84) bytes of data.
64 bytes from 10.11.0.100: icmp_req=1 ttl=64 time=0.915 ms
64 bytes from 10.11.0.100: icmp_req=2 ttl=64 time=1.13 ms
64 bytes from 10.11.0.100: icmp_req=3 ttl=64 time=0.962 ms
64 bytes from 10.11.0.100: icmp_req=4 ttl=64 time=0.911 ms

--- 10.11.0.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.911/0.980/1.133/0.093 ms
vyos@vyos:~$
vyos@vyos:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

S>* 0.0.0.0/0 [210/0] via 10.13.0.1, eth0
K>* 10.11.0.0/21 is directly connected, tun0
C>* 10.13.0.0/21 is directly connected, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 172.16.0.0/30 is directly connected, tun0
vyos@vyos:~$

<newton VyOS>
vyos@vyos:~$ ping 10.13.0.100 interface 10.11.0.100 count 4
PING 10.13.0.100 (10.13.0.100) from 10.11.0.100 : 56(84) bytes of data.
64 bytes from 10.13.0.100: icmp_req=1 ttl=64 time=0.996 ms
64 bytes from 10.13.0.100: icmp_req=2 ttl=64 time=0.863 ms
64 bytes from 10.13.0.100: icmp_req=3 ttl=64 time=1.03 ms
64 bytes from 10.13.0.100: icmp_req=4 ttl=64 time=0.931 ms

--- 10.13.0.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.863/0.956/1.035/0.068 ms
vyos@vyos:~$
vyos@vyos:~$ ip route
default via 10.11.0.1 dev eth0  proto zebra
10.11.0.0/21 dev eth0  proto kernel  scope link  src 10.11.0.100
10.13.0.0/21 dev tun0  scope link  src 10.11.0.100
127.0.0.0/8 dev lo  proto kernel  scope link  src 127.0.0.1
172.16.0.0/30 dev tun0  proto kernel  scope link  src 172.16.0.2
vyos@vyos:~$

2017年3月15日水曜日

【IDCFクラウド】VyOS間でIPIPトンネルの中にIPsecVPNを構成してみた その1


IDCFさんの公開資料を参考に2台のVyOSとの間でIPIPトンネルの中に
IPsecVPNを構成してみました。

今回は2台のVyOSで設定していますが、片方をYAMAHAなど
IPIPトンネルが利用できるルータと置き換えた場合でも
VyOS側のConfigは利用できるかと思います。

今回、IDCFクラウドを利用してテストしました。
IDCFクラウドを利用した理由は仮想マシンの値段。
最小クラスのインスタンスなら1台500円/月で利用できます。

VyOSであれば、どこでもこの設定で問題ないと思いますが、
この設定で使う用途はそれほどないかと、、、。

<参考にしたIDCFさんの公開資料>
 セルフクラウド VyOS での IPsec サイト間 VPN 接続ガイド
 https://www.idcf.jp/pdf/cloud/vyos_self.pdf

<構成図>

<IPアドレス>

























<VPNパラメータ その1>

<VPNパラメータ その2>

Configは次回。