VC6が出てたので。
vm版をDLしてきて、webにある動画の通り、vyatta/vyattaで
configure
set interfaces ethernet eth0 address 192.168.123.123/24
set service ssh
set service https
commit
してあとはhttp叩けばGUIでさくさく設定できるが、CLIをそのまま展開しましたにゃGUIがにゃんというか鬼やにゃ。そんにゃGUIにゃら無くてもいいみたいにゃ。
で、肝心のポリシールーティングがsourceベースでまだ出来にゃいとか書いてあってマジかよって話にゃのでもうちょっとつっこんでみた。・・・が、これが思ったよりバグが多い。
vm対応版のisoから起動してvyatta/vyatta
install-system
rebootして
configure
set interfaces ethernet eth0 address 192.168.123.123/24
set service ssh
set service https
commit
save
sudo apt-get update
sudo apt-get dist-upgrade
ここからはhttp://192.168.123.123でいいが、
set interfaces ethernet eth1 pppoe 10
set interfaces ethernet eth1 pppoe 10 user-id mame
set interfaces ethernet eth1 pppoe 10 password siba
set interfaces ethernet eth1 pppoe 10 mtu 1438
run connect interface pppoe10
run show interfaces
commit
save
とかで一応pppoeまではいけて、natで
set service nat rule 10 source address 192.168.123.0/24
set service nat rule 10 outbound-interface pppoe10
set service nat rule 10 type masquerade
commit
show service nat
save
すれば通るはず、だったのだがこれが・・・
どうもPPPoEのMTU設定が効いてにゃい。というか、内部で丸められてにゃいので、クライアントからMTU1500で投げると通らにゃい。つまり全てのクライアントをMTU1438にすれば解決、という状態。
調べるとバグっぽくて、
/sbin/iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -s ${_SRC_NETWORK} -d ${_DST_NETWORK} -j TCPMSS --set-mss ${_MSS_SIZE}
/sbin/iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -s ${_SRC_NETWORK} -d ${_DST_NETWORK} -j TCPMSS --clamp-mss-to-pmtu
を/etc/rc.localにでも書いとけバーカとか書いてある。ざけんにゃ。何年も前のうちの自作iptables.shに書いてある物が何故書いてにゃい。
面倒にゃので/etc/rc.localに
/sbin/iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
を書いて本件は終了。うざい。これをベースに製品売ってるとか到底信じられにゃい。ていうか普通のlinuxでiptablesとか叩くのとどう違うのこれ。
・・・
その他細々した所は、
set system host-name inu
set system domain-name neko
set system login user vyatta authentication plaintext-password momonga
set system name-server 202.248.0.72
set system gateway-address 192.168.123.254
dns forwarderは
set service dns forwarding system
set service dns forwarding listen-on eth0
Firewallは
set firewall name Allow_Established
set firewall name Allow_Established rule 10
set firewall name Allow_Established rule 10 action accept
set firewall name Allow_Established rule 10 state established enable
set interfaces ethernet eth1 pppoe 10 firewall in name Allow_Established
set interfaces ethernet eth1 pppoe 10 firewall local name Allow_Established
dhcpは
set service dhcp-server shared-network-name Neko subnet 192.168.123.0/24 start 192.168.123.100 stop 192.168.123.199
set service dhcp-server shared-network-name Neko subnet 192.168.123.0/24 default-router 192.168.1.254
set service dhcp-server shared-network-name Neko subnet 192.168.123.0/24 dns-server 123.123.123.123
debugは
sudo bash
tcpdump
nat
#set service nat rule 20 type destination
#set service nat rule 20 inbound-interface pppoe10
#set service nat rule 20 protocol tcp
#set service nat rule 20 destination port 80
#set service nat rule 20 inside-address address 192.168.123.80
あとまあ、access-listとpolicy route-mapを使って、set ip-next-hopするとぎりぎり特定パケットをポリシールーティング出来そうにゃ気配だがそろそろ心が折れた。
これは大昔に作って今にゃお動いてるLinuxルータとやってることが同じだ。いや同じにゃのは良いんだが、それを簡易に設定出来るかというと全くそうではにゃく、さらに仕様とバグに挑む必要があるのにゃら、既存のiptablesとかベタ打ちスクリプト群でもういいよ、ってことで1日潰れた。うーんにゃんだろにゃこのソフト選定におけるセンスの無さみたいにゃ物は。
メモ。
ESXi4.1をCDからbootしてInst。HDDに見せかけたUSBメモリとかでもOK。BIOSでがんばる必要があるけど。
起動画面にあるメニューを一通り設定。ssh接続できるようにする。
/.ssh/authorized_keysに何ぞ追加。tarってboot.cfgとか追記。reboot実験。
構成→ネットワークでvSwitchにVMnetwork、ServiceConsole、VMkernel、vmnicを繋げる。
時間の構成でpool.ntp.orgとかを入れとく。
ライセンス入れる。
ローカルストレージが有る場合にはストレージアダプタで分かりやすい名前に変更する。
iSCSIストレージがある場合には、ストレージアダプタで追加して分かりやすい名前に変更する。
ストレージで各種ストレージを分かりやすい名前で追加する。各ESXホストで整合性をとること。nasにゃら例えば
vim-cmd hostsvc/datastore/nas_create ds_nas 123.123.123.123 /pool1/share 0
ローカルに高速ストレージが有る場合にゃど、vmのスワップファイルのデータストアを指定する。
vmの自動シャットダウンと起動を設定する。
場合によって次のパラメータにゃんかを適時調節する。触らにゃくてもOK
esxcfg-advcfg --set 16 /NFS/MaxVolumes
esxcfg-advcfg --set 32 /Net/TcpipHeapSize
esxcfg-advcfg --set 128 /Net/TcpIpHeapMax
esxcfg-advcfg --set 10 /Mem/ShareScanTime
esxcfg-advcfg --set 32 /Mem/ShareScanGHz
esxcfg-advcfg --set 16384 /Mem/ShareRateMax
esxcfg-advcfg --set 64 /Mem/SwapAsyncWritePages
esxcfg-advcfg --set 50 /Mem/MemZipMaxPct
esxcfg-advcfg --set 10 /Mem/ShareUpdatePeriod
再起動
/sbin/firmwareConfig.sh --backup
と、このくらいか? たぶん2つ3つ忘れてるにゃぁ