OpenBSD 6.1に基づいたBGPルッキンググラスの設定

OpenBSD + OpenBGPD + bgplgバンドルを長い間使用して、パブリックなbgpのようなガラスサーバーを提供してきました。 OpenBSDを新しいバージョンにアップグレードすることが決定されました。



セットアッププロセス中に、公式ドキュメントに完全には開示されていないいくつかのニュアンスが明らかになりました。 結果は、新しくインストールされたOpenBSD 6.1に基づいてBGPルックグラスサービスをセットアップするためのこの命令です。



0. OpenBSDをインストールします



1. SSLキーを/etc/ssl/private/server.keyに、証明書チェーンを/etc/ssl/server.crtに入れます



2. /etc/httpd.confを構成します



ext_addr="0.0.0.0" ext_addr6="::" prefork 2 domain="lg.example.net" server $domain { listen on $ext_addr port 80 listen on $ext_addr6 port 80 block return 301 "https://$domain$REQUEST_URI" } server $domain { listen on $ext_addr tls port 443 listen on $ext_addr6 tls port 443 tls { certificate "/etc/ssl/server.crt" key "/etc/ssl/private/server.key" } location "/cgi-bin/*" { fastcgi root "" } location "/" { block return 302 "/cgi-bin/bgplg" } }
      
      





3. /etc/bgpd.confを構成します



 AS XXX fib-update no listen on 0.0.0.0 route-collector yes router-id ABCD socket "/var/www/run/bgpd.rsock" restricted neighbor DEFG { remote-as XXX descr "r1" announce none } neighbor D:E:F::G { remote-as XXX descr "r1v6" announce none }
      
      





4.権限設定し、chrootを構成します。 最後のコマンドでは、サービスからpingおよびtracerouteを有効にしますが、実行可能ファイルにSUIDフラグを設定します。



 chmod 0555 /var/www/cgi-bin/bgplg chmod 0555 /var/www/bin/bgpctl mkdir /var/www/etc cp /etc/resolv.conf /var/www/etc chmod 4555 /var/www/bin/ping* /var/www/bin/traceroute*
      
      





5.前の手順でpingとtracerouteを有効にした場合は、/ etc / fstabで/ varのnosuidフラグがないことを確認します。 / varを再マウントするか、再起動することを忘れないでください。



6. pf.confを構成する



 ext_if = "vio0" table <admins> { 192.168.0.0/24 2001:67c:aaaa::/64 } table <routers> { 192.168.2.0/24 2001:67c:bbbb::/64 } set block-policy drop set skip on lo #block return # block stateless traffic #pass # establish keep-state match in all scrub (no-df random-id max-mss 1440) block all pass out quick pass in on egress proto tcp from <admins> to (egress) port { 22 } pass in on egress proto tcp from <routers> to (egress) port { 179 } pass in on egress proto tcp from any to (egress) port { 80 443 } pass in on egress proto icmp from any to (egress) pass in on egress proto icmp6 from any to (egress)
      
      





7.デーモンを実行する



 rcctl enable httpd rcctl enable slowcgi rcctl enable bgpd rcctl start httpd rcctl start slowcgi rcctl start bgpd pfctl -f /etc/pf.conf
      
      





8. 出来上がり!



All Articles