#author("2025-06-06T02:11:20+00:00","hhh","hhh")
#author("2025-06-06T08:09:35+00:00","hhh","hhh")
&size(24){&color(olive){''FreeBSD''};};
#topicpath
#ls2
#contents
#br

- http://www.freebsd.org/

- FreeBSD UTF-8化
- http://www.bugbearr.jp/?FreeBSD%2FUTF-8%E5%8C%96

- CIDR
- https://www.softel.co.jp/labs/tools/network/


*** 一行コメント [#a7df4b23]

//#comment(below,noname)
- ifconfig em0 media 100baseTx mediaopt full-duplex --  &new{2017-05-01 (月) 09:57:16};
- CPANはwww/p5-libwww --  &new{2016-07-25 (月) 21:47:23};

- /usr/local/bin/rsync -av --iconv=UTF-8,EUC-JP-MS --delete aaa:from bbb:to --  &new{2015-03-26 (木) 17:23:39};
- 引越しのmountには-o async,noatimeを渡すと転送が捗ります --  &new{2012-06-08 (金) 11:03:04};
- インストール後にboot selectorをインストールするには,# boot0cfg -B /dev/ada0 --  &new{2011-10-01 (土) 14:54:47};
- NTFSを日本語で # mount_ntfs -o ro -CEUC-JP /dev/ada1s2 /mnt --  &new{2011-07-28 (木) 22:30:26};
- setxkbmap -option "ctrl:swapcaps" --  &new{2010-09-26 (日) 10:35:52};
- emacsを立ち上げてM-x view-fileするとROでファイルが眺められる。 --  &new{2010-06-09 (水) 13:47:59};
-slogin -Y enables trusted X11 forwarding. --  &new{2009-11-01 (日) 20:48:55};
-xdletaはbinary diff --  &new{2005-09-13 16:38:13 (Tue)};
-chown -h hoge:hoge pon でシンボリックリンクの所有者変更 --  &new{2005-07-08 15:54:34 (Fri)};
-cp -d hoge でシンボリックリンクをシンボリックリンクのままコピー -- &new{2005-07-04 18:26:11 (Mon)};

- FreeBSD .DS_Store掃除
 # find /opt -name .DS_Store -print -delete

*** Let's Encrypt [#h2cf6001]

- https://letsencrypt.org/

- FreeBSD 12とApache 2.4とcertbotでLet's Encrypt!
- https://decomo.info/wiki/freebsd/apache/freebsd_12_apache24_certbot
- https://decomo.info/wiki/freebsd/apache/freebsd_13_apache24_certbot
- https://certbot.eff.org/instructions?ws=apache&os=freebsd

- In order to automatically renew the certificates, add this line to /etc/periodic.conf:
  weekly_certbot_enable="YES"
- More config details in the certbot periodic script:
 /usr/local/etc/periodic/weekly/500.certbot-3.8

- VirtualHost環境でLet’s Encryptを導入
- https://hp.ofuton.org/305/

- Let's Encryptを利用してApache 2.4サーバをHTTPS化する
- https://qiita.com/ariaki/items/5680cb6da6223844af4e

- certbot
 # certbot certonly --webroot -w /usr/local/www/apache24/data -d dataz.dyndns.info
 Successfully received certificate.
 Certificate is saved at: /usr/local/etc/letsencrypt/live/dataz.dyndns.info/fullchain.pem
 Key is saved at:         /usr/local/etc/letsencrypt/live/dataz.dyndns.info/privkey.pem

- Let’s Encryptの証明書をRSA方式で更新。
- https://manualmaton.com/2023/05/28/lets-encrypt%E3%81%AE%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92rsa%E6%96%B9%E5%BC%8F%E3%81%A7%E6%9B%B4%E6%96%B0%E3%80%82/

- certbot
 # certbot certonly --webroot -w /usr/local/www/apache24/data -d dataz.dyndns.info --key-type rsa


*** coreutils [#qf26d1cb]

- pkg
 pkg install coreutils

- 1年以内に更新されたフィイルをディレクトリ構造を保ってコピー
 find mora -mtime -365 -type f -print0 | xargs -0 gcp --parents -t /home/hasebe/mora

*** pukiwiki-1.5.4 [#z99f351a]

- mod_php80
-- install
 # pkg install gcc php80-session
 # cd /usr/ports/www/mod_php80
 # sh
 # export CC=/usr/local/bin/gcc
 # make install clean
 # pkg lock mod_php80
 # pkg info -D mod_php80
-- https://forums.freebsd.org/threads/apache24-with-mod_php82-wont-start-up.86779/page-2

- php-fpm
-- mod_php80 -> php-fpm
 # pkg delete mod_php80 php80-session php80
 # pkg install php81-session
-- /etc/rc.conf
 php_fpm_enable="YES"
-- /usr/local/etc/php-fpm.d/www.conf
 listen = 127.0.0.1:9000
-- /usr/local/etc/apache24/httpd.conf
 LoadModule proxy_module libexec/apache24/mod_proxy.so
 LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so
 
 <FilesMatch "\.php$">
   SetHandler proxy:fcgi://127.0.0.1:9000
 </FilesMatch>
-- start
 # /usr/local/etc/rc.d/php-fpm start
 # apachectl gfraceful

*** rsync [#j87d2826]

- iconv
 # cd /usr/ports/converters/libiconv/
 # make config
 [x] ENCODINGS
 [x] PATCHES

- rsync
 # ce /usr/ports/net/rsync/
 # make config
 [x] ICONV
 (*) FLAGS

- /usr/local/bin/rsync -av --iconv=UTF-8,EUC-JP-MS --delete aaa:from bbb:to
- lock
 pkg lock rsync
 pkg lock libiconv


*** SoftEther VPN [#g04cb34d]

- http://ja.softether.org/

- run
 # vpnserver/vpnserver start
// # vpnbridge/vpnbridge start
 # vpncmd/vpncmd

- vpncmd
 > ServerPasswordSet
 > UserCreate
 > UserPasswordSet
 > BridgeCreate
 > IPsecEnable

- http://ytsrvlog.blogspot.jp/2014/04/softethervpn-2.html

- ports
 To run softether vpn client from startup, add
 softether_client_enable="YES" in your rc.conf.
 
 To run softether vpn server from startup, add
  softether_server_enable="YES" in your rc.conf.
 
 To run softether vpn bridge from startup, add
 softether_bridge_enable="YES" in your rc.conf. 
 
 Initial and further configuration of all softether services can be
 done either by using a Windows client to connect to the running
 services or by vpncmd from command line.
 
 Please note client and bridge functionality is not fully
 supported on FreeBSD right now.
 
 When removing SoftEther VPN without the desire to reinstall, please
 ensure to remove the directory /var/db/softether as well.
 

*** /usr/src [#w0263729]

- checkout
 svnlite co svn://svn.freebsd.org/base/head /usr/src
 svnlite co svn://svn.freebsd.org/base/stable/10 /usr/src

- リポジトリの確認
 # svnlite info
 Path: .
 Working Copy Root Path: /usr/src
 URL: svn://svn.freebsd.org/base/head
 Relative URL: ^/head
 Repository Root: svn://svn.freebsd.org/base
 Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
 Revision: 303551
 Node Kind: directory
 Schedule: normal
 Last Changed Author: mav
 Last Changed Rev: 303551
 Last Changed Date: 2016-07-30 19:32:28 +0900 (Sat, 30 Jul 2016)
 
 # svnlite info
 Path: .
 Working Copy Root Path: /usr/src
 URL: svn://svn.freebsd.org/base/stable/10
 Relative URL: ^/stable/10
 Repository Root: svn://svn.freebsd.org/base
 Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
 Revision: 303537
 Node Kind: directory
 Schedule: normal
 Last Changed Author: sbruno
 Last Changed Rev: 303459
 Last Changed Date: 2016-07-29 05:11:34 +0900 (Fri, 29 Jul 2016) 

- リポジトリの変更
 # svnlite switch --relocate svn://svn.freebsd.org/base/stable/10 svn://svn.freebsd.org/base/stable/11

*** samba4 [#la944902]

- rc.conf
 #samba_enable="YES"
 samba_server_enable="YES"

- smb.conf
 # cp /usr/local/etc/smb.conf /usr/local/etc/smb4.conf

- いったんstart/stop
 # /usr/local/etc/rc.d/samba_server start
 # /usr/local/etc/rc.d/samba_server stop

- ユーザ移行
 # cp /usr/local/etc/samba/* /var/db/samba4/private

- wsdd
 # pkg install py39-wsdd
-- /etc/rc.local
 wsdd_enable="YES"
-- Windows 10はNetBIOSをツカわず、Web Service Discoveryのみになった。
-- SMBクライアントがブラウジングリストに表示されない。

*** コンソール [#g3947393]

- vtを有効化
-- /boot/loader.conf
 hw.vga.textmode=0
 kern.vty=vt

- sc
-- モードの確認
 # vidcontrol -i mode
-- 手動設定
 # vidcontrol MODE_291
-- /etc/rc.conf
 allscreens_flags="MODE_291"

*** avahi [#ebe62c3c]

- dbus
 # cd /usr/ports/devel/dbus
 # make config
 - X11
 # make install clean

- avahi
 # cd /usr/ports/net/avahi
 # make config
 - AUTOIPD
 - GTK
 # make install clean
 # vi /usr/local/etc/avahi/avahi-daemon.conf
 host-name
 domain-name
 # vi /etc/nsswitch.conf
 hosts: files mdns dns

- mdns
 # portmaster dns/nss_mdns



*** screen [#ve1f719a]


- .screen
 escape ^T^T
 vbell off
 startup_message off
 defscrollback 1000
 defhstatus "^En:^Et"

-- [[screenのススメ:http://www.dekaino.net/screen/]]
|~shortcut|~command|
|c-t S|split|
|c-t TAB|switch between split screens|
|c-t X|remove|
|c-t c-[|copy|
|c-t c-]|paste|
|SPACE|set start and end point in copy mode|
#br

-.bashrc
 export PS1='\h\$ '

-.emacs
 (setq inhibit-startup-message t)
 (setq display-time-24hr-format t)
 (display-time)
 (setq column-number-mode t)
 (global-set-key "\M-g" 'goto-line)
 (set-input-mode nil nil t) ;// -nwのときaltをmetaに
 ;(tool-bar-mode 0) ; // -nwのときエラーになる todo


*** FreeBSDのお引っ越し [#od3221c6]

- パーティションスキーム作成
 gpart create -s gpt ada1
- boot
 gpart add -s 64K -t freebsd-boot ada1
- swap
 # gpart add -s 4G -t freebsd-swap ada1
- /
 gpart add -s 40G -t freebsd-ufs ada1
- /opt
 gpart add -t freebsd-ufs ada1
- 確認
 gpart show ada1
          40  3907029088  ada1  GPT  (1.8T)
          40         128     1  freebsd-boot  (64K)
         168     8388608     2  freebsd-swap  (4.0G)
     8388776    83886080     3  freebsd-ufs  (40G)
    92274856  3814754264     4  freebsd-ufs  (1.8T)
  3907029120           8        - free -  (4.0K)

- boot loader
 gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1

- 初期化
 newfs /dev/ada1p3
 newfs /dev/ada1p4

- /仮マウント
 mount /dev/ada1p3 /mnt
- /引っ越し
 dump 0aLf - / | (cd /mnt && restore rf -)
- /optを仮マウント
 mount /dev/ada1p4 /mnt/opt
- /opt引っ越し
 dump 0aLf - /opt | (cd /mnt/opt && restore rf -)


*** HDD追加 [#v326a93a]

- パーティションスキーム作成
 # gpart create -s gpt ada1

- パーティション作成
 # gpart add -t freebsd-ufs ada1

- ファイルシステム作成
 # newfs /dev/ada1p1

- パーティション削除
 # gpart delete -i 1 ada1

- パーティションスキーム削除
 # gpart destroy ada1

*** gmirror [#q2cedc4f]

- root FSもミラーリングできる。
- 単独HDD運用からミラーリングに変更できる。
- geom -- universal control utility for GEOM classes
- gmirror -- control utility for mirrored devices

- HDD1に普通にFreeBSDをインストールする。
 # Device               Mountpoint      FStype  Options         Dump    Pass#
 /dev/ad6s1b            none            swap    sw              0       0
 /dev/ad6s1a            /               ufs     rw              1       1
 /dev/ad6s1d            /opt            ufs     rw              2       2

- /boot/loader.conf
 kern.geom.part.check_integrity="0" # workaround
 geom_mirror_load="YES"

- ミラーリングデバイスをマウントするようにfstabを書き換える。
 # Device                Mountpoint      FStype  Options         Dump    Pass#
 /dev/mirror/gm0s1b      none            swap    sw              0       0
 /dev/mirror/gm0s1a      /               ufs     rw              1       1
 /dev/mirror/gm0s1d      /opt            ufs     rw              2       2

- FreeBSDインストールCDとFreeBSD LIVE FS CDを作る。
- FreeBSDインストールCDから起動して、fixitのshellに入る。
- HDD1をミラーリングに追加
 # gmirror label -b round-robin gm0 ad6
- 再起動することを確認する。
- HDD2を接続して起動。
- HDD2をミラーリングに追加
 # gmirror insert gm0 ad8
- gmirror status
       Name    Status  Components
 mirror/gm0  COMPLETE  ad6
                       ad8
- HDDがクラッシュするとStatusがCOMPLETEでなくなる。
- なんと電源を落とさずにHDD交換できるらしい。
- やり方はクラッシュしたときに調べるということでヨシトシよう。

- 新規インストール
-- パーティション設定でshellを起動
 kldload geom_mirror
 gmirror label gm0 ada0
 gpart create -s gpt mirror/gm0
 gpart add -s 512k -a 4k -t freebsd-boot -l "boot" mirror/gm0
 gpart add -s 100g -a 4k -t freebsd-ufs -l "root" mirror/gm0
 gpart add -s 4g -a 4k -t freebsd-swap -l "swap" mirror/gm0
 gpart add -s 1600g -a 4k -t freebsd-ufs -l "opt" mirror/gm0
 gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 mirror/gm0
 newfs -j /dev/gpt/root
 newfs -j /dev/gpt/opt
 vi /tmp/bsdinstall_etc/fstab
   /dev/gpt/root / ufs rw,noatime 1 1
   /dev/gpt/swap none swap sw 0 0
   /dev/gpt/opt /opt ufs rw,noatime 2 2
 mount /dev/gpt/root /mnt
 exit
-- リブート前にshellを起動
 vi /boot/loader.conf
   kern.cam.ada.0.quirks="1"
   geom_mirror_load="YES"
-- リブート後HDD追加
 gmirror inster gm0 ada1

*** pf [#vd4675bb]

- packet filteringはラストマッチングルールで、デフォルトはpass

- rc.conf
 pf_enable="YES"
 gateway_enable="YES"

- /etc/pf.conf
-- 変数定義
 ext_if="xl0"
 int_if="fxp0"
 internal_net="192.168.0.0/24"
-- トラフィック成形
 scrub in all
 scrub out all random-id max-mss 1414
-- NAT
 nat on $ext_if from $internal_net to any -> ($ext_if)
-- ポートフォワード
 rdr on $ext_if proto tcp from any to port 1234 -> $gbx port 1234
-- UPnP
 rdr-anchor "miniupnpd"
 anchor "miniupnpd"
 pass out on $int_if from any to 239.0.0.0/8 keep state
 pass in on $int_if from any to 239.0.0.0/8 keep state
-- SMB
 block on $ext_if proto {tcp, udp} from any to any port {137, 138, 139, 445}


*** mpd [#x0b879bf]

- mpd5
 startup:
         
 default:
         load pppoe_client
         
 pppoe_client:
         create bundle static B1
 
         set iface route default
         set iface enable tcpmssfix
         
         create link static L1 pppoe
 
         set link action bundle B1
         set link no acfcomp protocomp
         set link disable pap
         set link accept chap
         set link max-redial 0
         set link mtu 1454
         set link mru 1454
         set link keep-alive 10 60
 
         set auth authname xxx
 
         set ipcp yes vjcomp
         set ipcp ranges 0.0.0.0/0 0.0.0.0/0
 
         set pppoe iface fxp0
         set pppoe service ""
 
         open

*** WLAN STA [#qe5ab091]

- /etc/rc.local
 ifconfig wlan0 create wlandev ath0 mode 11a country J5
 wpa_supplicant -B -Dbsd -iwlan0 -c/etc/wpa_supplicant.conf
 sleep 4
 dhclient wlan0

または

- /etc/rc.conf
 wlans_ath0="wlan0"
 ifconfig_wlan0="WPA DHCP"
 ifconfig_wlan0_ipv6="inet6 accept_rtadv"

- /etc/wpa_supplicant.conf
 ctrl_interface=/var/run/wpa_supplicant
 network={
   ssid="AirPort5"
   psk="1234123412345"
 }


*** WLAN AP [#j1128eec]

- manual
 # ifconfig wlan0 create wlandev ath0 wlanmode hostap mode 11na country J5
 # ifconfig bridge0 create addm wlan0 addm fxp0 up

- /etc/hostapd.conf
 nterface=wlan0
 driver=bsd
 ctrl_interface=/var/run/hostapd
 ctrl_interface_group=wheel
 ssid=aaa
 country_code=JP
 #ieee80211d=1
 hw_mode=a
 #channel=13
 auth_algs=1
 #wme_enabled=1
 wpa=2
 wpa_passphrase=1111111111111
 wpa_key_mgmt=WPA-PSK
 wpa_pairwise=CCMP

- /etc/rc.conf
 create_args_wlan0="wlanmode hostap mode 11na country J5"
 wlans_ath0="wlan0"
 ifconfig_wlan0="channel 3:ht/40"
 hostapd_enable="YES"
 cloned_interfaces="bridge0"
 ifconfig_bridge0="addm wlan0 addm fxp0 up"

*** WLAN monitor [#x6588084]

- manual
 # ifconfig wlan0 create wlandev ath0 wlanmode monitor mode 11a country J5

- tcpdump
 # ifconfig wlan0 channel 36
 # tcpdump -i wlan0 -y IEEE802_11_RADIO -e
 # tcpdump -i wlan0 -I -e

*** vtund Ethernet bridge [#q02230dd]

-loader.conf
 if_bridge_load="YES"
 if_tap_load="YES

-サーバ側 vtund.conf
 options {
   port 5000;            # Listen on this port.
   bindaddr { iface vr0; };
 
   # Syslog facility
   syslog        daemon;
 
   # Path to various programs
   ppp           /usr/sbin/pppd;            
   ifconfig      /sbin/ifconfig;
   route         /sbin/route;
   firewall      /sbin/ipchains;
   ip            /sbin/ip;
 }
 
 # Default session options 
 default {
   compress no;          # Compression is off by default
   speed 0;              # By default maximum speed, NO shaping
 }
 
 # Ethernet example. Session 'lion'.
 lion {
   passwd  aaaaaa;       # Password
   type  ether;          # Ethernet tunnel
   device tap0;          # Device tap0 
   proto udp;            # UDP protocol
   compress  lzo:1;      # LZO compression level 1 
   encrypt  yes;         # Encryption
   stat  yes;            # Log connection statistic 
   keepalive yes;        # Keep connection alive
   up {  
         ifconfig "%% 192.168.0.2 netmask 0xffffff00";
         ifconfig "bridge0 create";
         ifconfig "bridge0 addm tap0 addm fxp0 up";
   };
 
   down {
         ifconfig "bridge0 deletem tap0 deletem fxp0";
         ifconfig "bridge0 down destroy";
         ifconfig "%% delete down"; 
   };
 }

 
- クライアント側 vtund.conf
 options {
   port 5000;            # Connect to this port.
   timeout 60;           # General timeout
 
   # Path to various programs
   ppp           /usr/sbin/pppd;
   ifconfig      /sbin/ifconfig;
   route         /sbin/route;
   firewall      /sbin/ipchains;
   ip            /sbin/ip;
 }
 
 # Ethernet example. Session 'lion'.
 lion {
   passwd  aaaaaa;       # Password
   type  ether;          # Ethernet tunnel
   device tap0;          # Device tap1
   up {
         ifconfig "%% 192.168.100.253 netmask 0xffffff00";
         ifconfig "bridge0 create";
         ifconfig "bridge0 addm tap0 addm fxp0 up";
   };
   down {
         ifconfig "bridge0 deletem tap0 deletem fxp0";
         ifconfig "bridge0 destroy";
         ifconfig "%% delete down";
   };



*** ISOイメージ [#j8e84933]

- mdconfig
 # mdconfig -af hoge.iso 
 md0
 # mount -t cd9660 /dev/md0 /mnt
 # mdconfig -du md0

*** 録音 [#w86022f0]

- wavrec
 #!/bin/sh
 mixer =rec line rec 25
 wavrec -s 48000 -M -t 900 RJ-`date "+%Y-%m-%d"`.wav

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS