私は現在、openvpnサーバーを実行しているdebianサーバーを持っています。接続されたopenvpnクライアントによるアクセスを許可したいDNSサーバー(bind9)もありますが、これを行う方法がわからないので、を使用してクライアントにDNSオプションを送信する方法をすでに知っています
Push "dhcp-option DNS x.x.x.x"
しかし、VPNサーバーと同じマシンにあるDNSサーバーにクライアントがアクセスできるようにする方法がわからないので、誰かが私を正しい方向に向けることができれば、本当にありがたいです。また、これがiptablesへのルールの追加と関係がある場合は、これがiptablesの現在の構成です。
# Generated by iptables-save v1.4.14 on Thu Oct 18 22:05:33 2012
*nat
:PREROUTING ACCEPT [3831842:462225238]
:INPUT ACCEPT [3820049:461550908]
:OUTPUT ACCEPT [1885011:139487044]
:POSTROUTING ACCEPT [1883834:139415168]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Oct 18 22:05:33 2012
# Generated by iptables-save v1.4.14 on Thu Oct 18 22:05:33 2012
*filter
:INPUT ACCEPT [45799:10669929]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [45747:10335026]
:fail2ban-Apache - [0:0]
:fail2ban-Apache-myadmin - [0:0]
:fail2ban-Apache-noscript - [0:0]
:fail2ban-ssh - [0:0]
:fail2ban-ssh-ddos - [0:0]
:fail2ban-webserver-w00tw00t - [0:0]
-A INPUT -p tcp -m multiport --dports 80,443 -j fail2ban-Apache-myadmin
-A INPUT -p tcp -m multiport --dports 80,443 -j fail2ban-webserver-w00tw00t
-A INPUT -p tcp -m multiport --dports 80,443 -j fail2ban-Apache-noscript
-A INPUT -p tcp -m multiport --dports 80,443 -j fail2ban-Apache
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh-ddos
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -i tun+ -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A fail2ban-Apache -j RETURN
-A fail2ban-Apache-myadmin -s 211.154.213.122/32 -j DROP
-A fail2ban-Apache-myadmin -s 201.170.229.96/32 -j DROP
-A fail2ban-Apache-myadmin -j RETURN
-A fail2ban-Apache-noscript -j RETURN
-A fail2ban-ssh -s 76.9.59.66/32 -j DROP
-A fail2ban-ssh -s 64.13.220.73/32 -j DROP
-A fail2ban-ssh -s 203.69.139.179/32 -j DROP
-A fail2ban-ssh -s 173.10.11.146/32 -j DROP
-A fail2ban-ssh -j RETURN
-A fail2ban-ssh-ddos -j RETURN
-A fail2ban-webserver-w00tw00t -s 217.70.51.154/32 -j DROP
-A fail2ban-webserver-w00tw00t -s 86.35.242.58/32 -j DROP
-A fail2ban-webserver-w00tw00t -j RETURN
COMMIT
# Completed on Thu Oct 18 22:05:33 2012
これが私のopenvpnサーバー構成です
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group users
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
verb 3
Push "redirect-gateway def1"
Push "dhcp-option DNS 213.133.98.98"
Push "dhcp-option DNS 213.133.99.99"
Push "dhcp-option DNS 213.133.100.100"
client-to-client
Openvpnサブネットの一部であるIPアドレスにリストするようにbind9に指示する必要がありました
/etc/bind/named.conf.options
この場合はopenvpn
のサブネットに追加して解決しました。LANは192.168.0.xxx
で、openvpnは10.8.0.xxx
です。
listen-on port 53 { localhost; 192.168.0.0/24; 10.8.0.0/24; };
allow-query { localhost; 192.168.0.0/24; 10.8.0.0/24; };
私のopenvpnサーバー設定ファイルに追加された/etc/openvpn/server.conf
私の場合192.168.0.124はDNSサーバーアドレス:
Push "dhcp-option DOMAIN mySpecificDomain.local"
Push "dhcp-option DNS 192.168.0.124"
Push "dhcp-option DNS 8.8.8.8"
Push "dhcp-option DNS 8.8.4.4"
私の完全/etc/bind/named.conf.options
ファイルは
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
192.168.0.1;
8.8.8.8;
8.8.4.4;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
//dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
listen-on port 53 { localhost; 192.168.0.0/24; 10.8.0.0/24; };
allow-query { localhost; 192.168.0.0/24; 10.8.0.0/24; };
recursion yes;
};