質問: "$1" ]] then echo $srvc_id return fi done } function get_dns_ips () { local srvc_id=$(get_srvc_id_by_name "$1") cat <<eof | scutil | \ sed -nee ' /serveraddresses/ { :ips n /[0-9]+ :/ { s/ *[0-9]+ : ([0-9.]+) */\1/p b ips } }' show $2:/network/service/$srvc_id/dns eof } function set_dns_ips () { networksetup -setdnsservers "$@" } vpn_srvc_name='name of vpn service' ip_file='/tmp/setup_dns_ips' pri_srvc_id=$(get_pri_srvc_id) pri_srvc_name=$(get_srvc_name "$pri_srvc_id") if [[ ! -e "$ip_file" ]] then setup_dns_ips=$(get_dns_ips "$pri_srvc_name" "setup") state_dns_ips=$(get_dns_ips "$pri_srvc_name" "state") vpn_ips=$(get_dns_ips "$vpn_srvc_name" "state") set_dns_ips "$pri_srvc_name" $vpn_ips $setup_dns_ips $state_dns_ips if [[ -z "$setup_dns_ips" ]] then setup_dns_ips="empty" fi echo $setup_dns_ips >$ip_file else setup_dns_ips=$(cat $ip_file) set_dns_ips "$pri_srvc_name" $setup_dns_ips rm $ip_file fi **編集**これはlionでもまだ問題のようです。タイトルを更新してタグを追加しています。**編集**どうやらlionは、airportサービスの名前をwi-fiに変更するなど、いくつかのワイヤレスの変更ももたらしたようです。これにより、ワイヤレス接続を介してvpnに接続する場合に、提供した回避策スクリプトで問題が発生する可能性があります。 lionは(何らかの理由で)airportという名前のサービスを内部に保持しています。これを修正するには、wi-fiサービスの名前をairport以外の名前に変更する必要があります。 wi-fi名を保持したい場合は、最初に名前を別の名前に変更してから、名前をwi-fiに戻す必要があります。
回答: 私の場合、fqdn要求は正しい内部アドレスに解決されませんでした。代わりに、彼らは外部アドレスを指していた。ipsec経由でciscoasaに接続します。ネットワーク接続で順序が正しく設定されている間、10.6.5に更新されてから、dns要求は順序に従いません。これを回避するために、vpnのdnsサーバーを空港接続に手動で割り当てました(ワイヤレスであるため)。 vpn接続が完了したら、手動で追加したdnsアドレスを削除します。