linux ipsett 和 dnsmasq 不匹配怎么办

查看: 894|回复: 7
在线等。。ss-spec优化版本+dnsmasq+ipset 全部走ss了
之前安装的ss原版+dnsmasq+ipset,使用完美,但是这个原版ss不能luci界面配置服务器信息,所以试了spec版本的。
现在安装的ss-spec优化版本+dnsmasq+ipset,全部流量走ss了。
我不知道ss-spec版本如何实现只在访问gfwlist里面的网站时,才用代理,其他都直连。
既然你都全部走SS了,那肯定可以上Google吧,Google 搜索 s-s gfwlist 第一个就是教程了。不过呢,gfwlist方案不能用spec版,只能用普通版
我现在就是纳闷啊,其实就想搞个luci的配置界面,这样我切换VPS的时候方便&
既然你都全部走SS了,那肯定可以上Google吧,Google 搜索 s-s gfwlist 第一个就是教程了。不过呢,gfwlist ...
我现在就是纳闷啊,其实就想搞个luci的配置界面,这样我切换VPS的时候方便
顶上去~~~~~~~~~~~~
防火墙设置了没有
我猜是没有更新ignore.list
我猜也是,例外列表没选ignore.list
Powered byDnsmasq提供DNS缓存和DHCP服务、Tftp服务功能。作为域名解析服务器(DNS),Dnsmasq可以通过缓存DNS请求来提高对访问过的网址的连接速度。作为DHCP服务器,Dnsmasq可以为局域网电脑提供内网ip地址和路由。DNS和DHCP两个功能可以同时或分别单独实现。
Dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个PXE服务器。
Dnsmasq工作原理
当接受到一个DNS请求时,Dnsmasq首先会查找
/etc/hosts
这个文件,然后查找
/etc/resolv.con
f中定义的外部DNS。所以说Dnsmasq是一个很不错的外部DNS中继。
配置Dnsmasq为DNS缓存服务器,同时在
/etc/hosts
文件中加入本地内网解析,这样一来每当内网机器查询时就会优先查询hosts文件,这就等于将
/etc/hosts
共享给全内网机器使用,从而解决内网机器互相识别的问题。相比逐台机器编辑hosts文件或者添加Bind DNS记录,仅编辑一个hosts文件,这简直太容易了。
安装Dnsmasq
Ubuntu/Debian
$ apt-get install dnsmasq
Centos/RHEL
$ yum install dnsmasq
配置Dnsmasq
Dnsmasq处理DNS设置与BIND等其他DNS服务有所不同。所有的配置都在一个文件中完成
/etc/dnsmasq.conf
。默认情况下dnsmasq.conf中只开启了最后include项,可以在
/etc/dnsmasq.d
中自己写任意名字的配置文件。
配置文件说明
Dnsmasq配置文件是
/etc/dnsmasq.conf
,下面对Dnsmasq中和DNS相关的配置项进行说明。
用指定的端口代替默认的DNS 53端口,如果设置为0,则完全禁止DNS功能,只使用dhcp服务
以下两个参数告诉Dnsmasq过滤一些查询:1.哪些公共DNS没有回答 2.哪些root根域不可达。
从不转发格式错误的域名
#domain-needed
从不转发不在路由地址中的域名
#bogus-priv
resolv-file配置Dnsmasq额外的向流的DNS服务器,如果不开启就使用linux主机默认的/etc/resolv.conf里的nameserver,通过下面的选项指定其他文件。
resolv-file=/etc/dnsmasq.d/upstream_dns.conf
默认情况下Dnsmasq会发送查询到它的任何上游DNS服务器上,如果取消注释,则Dnsmasq则会严格按照/etc/resolv.conf中的DNS Server顺序进行查询。
#strict-order
以下两个参数控制是否通过/etc/resolv.conf确定上游服务器,是否检测/etc/resolv.conf的变化,则取消注释。
如果你不想Dnsmasq读取/etc/resolv.conf文件或者其他文件,获得它的servers
# If you don't want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this.
#no-resolv
如果你不允许Dnsmasq通过轮询/etc/resolv.conf或者其他文件来获取配置的改变,则取消注释。
增加一个name server,一般用于内网域名
#server=/localnet/192.168.0.1
设置一个反向解析,所有192.168.3.0/24的地址都到10.1.2.3去解析
#server=/3.168.192.in-addr.arpa/10.1.2.3
增加一个本地域名,会在/etc/hosts中进行查询
#local=/localnet/
增加一个域名,强制解析到你指定的地址上
#address=/double-click.net/127.0.0.1
同上,还支持ipv6
#address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83
增加查询yahoo google和它们的子域名到vpn、search查找
# Add the IPs of all queries , , and their
# subdomains to the vpn and search ipsets:
#ipset=///vpn,search
你还可以控制Dnsmasq和Server之间的查询从哪个网卡出去
# server=10.1.2.3@eth1
指定源地址携带10.1.2.3地址和192.168.1.1的55端口进行通讯
# and this sets the source (ie local) address used to talk to
# 10.1.2.3 to 192.168.1.1 port 55 (there must be a interface with that
# IP on the machine, obviously).
# server=10.1.2.3@192.168.1.1#55
改变Dnsmasq默认的uid和gid
如果你想Dnsmasq监听某个端口为dhcp、dns提供服务
#interface=
你还可以指定哪个端口你不想监听
#except-interface=
设置想监听的地址,如果你本机要使用写上127.0.0.1。
#listen-address=
如果你想在某个端口只提供dns服务,则可以进行配置禁止dhcp服务
#no-dhcp-interface=
# On systems which support it, dnsmasq binds the wildcard address,
# even when it is listening on only some interfaces. It then discards
# requests that it shouldn't reply to. This has the advantage of
# working even when interfaces come and go and change address. If you
# want dnsmasq to really bind only the interfaces it is listening on,
# uncomment this option. About the only time you may need this is when
# running another nameserver on the same machine.
#bind-interfaces
如果你不想使用/etc/hosts,则取消下面的注释
如果你项读取其他类似/etc/hosts文件,则进行配置
addn-hosts=/etc/banner_add_hosts
自动的给hosts中的name增加一个域名
#expand-hosts
给dhcp服务赋予一个域名
#domain=thekelleys.org.uk
给dhcp的一个子域赋予一个不同的域名
#domain=wireless.thekelleys.org.uk,192.168.2.0/24
同上,不过子域是一个范围
#domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200
dhcp分发ip的范围,以及每个ip的租约时间
#dhcp-range=192.168.0.50,192.168.0.150,12h
同上,不过给出了掩码
#dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h
自动加载conf-dir目录下的配置文件
conf-dir=/etc/dnsmasq.d
设置dns缓存大小,默认为150条
cache-size=150
配置上游服务器地址
resolv-file配置Dnsmasq额外的上游的DNS服务器,如果不开启就使用Linux主机默认的
/etc/resolv.conf
里的nameserver。
通过下面的选项指定其他文件来管理上游的DNS服务器
$ vi /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf
在指定文件中增加转发DNS的地址
$ vi /etc/resolv.dnsmasq.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
本地启用Dnsmasq解析
$ vi /etc/resolv.conf
nameserver 127.0.0.1
添加解析记录
使用系统默认hosts
编辑hosts文件,简单列举一下格式
$ vi /etc/hosts
192.168.101.107
192.168.101.107
hosts文件的强大之处还在于能够劫持解析,譬如mirror.centos.org是CentOS仓库所在,几乎是机器正常必访问一个域名,我将它解析成一个内网地址,搭建一个内网镜像站,不仅内网机器也可以及时得到安全更新,每月还可以节省很多流量。
使用自定义hosts文件
修改配置,增加自定义hosts文件位置。
$ vi /etc/dnsmasq.conf
addn-hosts=/etc/dnsmasq.hosts
在/etc/dnsmasq.hosts文件中添加DNS记录
$ vi /etc/dnsmasq.hosts
192.168.101.107
192.168.101.107
使用自定义conf
$ vi /etc/dnsmasq.d/address.conf
# 指定dnsmasq默认查询的上游服务器,此处以Google Public DNS为例。
server=8.8.8.8
server=8.8.4.4
# 把所有.cn的域名全部通过114.114.114.114这台国内DNS服务器来解析
server=/cn/114.114.114.114
# 给*.和使用专用的DNS
server=//223.5.5.5
server=/./223.5.5.5
# 把www.解析到特定的IP
address=/www./192.168.101.107
在这里相当于*.泛解析
address=//192.168.101.107
注:也可以直接添加到/etc/dnsmasq.conf中,不过/etc/dnsmasq.d/*.conf的优先级大于/etc/dnsmasq.conf。
修改iptables配置
允许本机的53端口可对外访问
$ iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
$ iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
转发DNS请求
# 开启流量转发功能
$ echo '1' & /proc/sys/net/ipv4/ip_forward
$ echo '1' & /proc/sys/net/ipv6/ip_forward
# IPv6 用户选用
# 添加流量转发规则,将外部到53的端口的请求映射到Dnsmasq服务器的53端口
$ iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
$ iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
# 如果要限制只允许内网的请求,方法如下
$ iptables -t nat -A PREROUTING -i eth1 -p upd --dport 53 -j REDIRECT --to-port 53
保存规则并重启
$ service iptables save
$ service iptables restart
测试Dnsmasq
启动Dnsmasq
$ service dnsmasq start
测试Dnsmasq
将其他机器的DNS换成dnsmasq所在的IP即可,就这么容易。
$ dig @192.168.101.104 www.
一些Dnsmasq技巧
Dnsmasq性能优化
我们都知道Bind不配合数据库的情况下,经常需要重新载入并读取配置文件,这是造成性能低下的原因。根据这点教训,我们可以考虑不读取
/etc/hosts
文件。而是另外指定一个在共享内存里的文件,比如
/dev/shm/dnsrecord.txt
,这样就不费劲了,又由于内存的非持久性,重启就消失,可以定期同步硬盘上的某个内容到内存文件中。
具体实现步骤
配置dnsmasq
$ vim /etc/dnsmasq.conf
addn-hosts=/dev/shm/dnsrecord.txt
解决同步问题
# 开机启动
$ echo "cat /etc/hosts & /dev/shm/dnsrecord.txt" &&/etc/rc.local
# 定时同步内容
$ crontab -e
*/10 * * * * cat /etc/hosts & /dev/shm/dnsrecord.txt
Dnsmasq选择最快的上游DNS服务器
经常会有这样的情景,Dnsmasq服务器配了一堆上游服务器,转发本地的dns请求,缺省是Dnsmasq事实上是只挑了一个上游dns服务器来查询并转发结果,这样如果选错服务器的话会导致DNS响应变慢。
$ vi /etc/dnsmasq.conf
all-servers
server=8.8.8.8
server=219.141.136.10
all-servers表示对以下设置的所有server发起查询,选择回应最快的一条作为查询结果返回。
上面我们设置了两个dns server,8.8.8.8(谷歌dns)和219.141.136.10(移动的dns),会同时查询这两个服务器,询问dns地址谁返回快就采用谁的结果。
dnsmasq-china-list项目
dnsmasq-china-list项目维护了一张国内常用但是通过国外DNS会解析错误的网站域名的列表,保证List中的国内域名全部走国内DNS服务器解析。
/felixonmars/dnsmasq-china-list
dnsmasq-china-list使用
取消dnsmasq.conf里conf-dir=/etc/dnsmasq.d这一行的注释
获取项目文件
$ git clone /felixonmars/dnsmasq-china-list.git
将accelerated-domains.china.conf, bogus-nxdomain.china.conf,google.china.conf(可选)放到/etc/dnsmasq.d/目录下(如目录不存在则建立一个)。
dnsmasq-update-china-list
,这是一个批量修改DNS服务器的工具(可选)。
http://purplegrape./3354
/archives/iptables_PREROUTING.html
http://blog.itphp.org/archives/225
本文来自微信公众账号提交,由微讯啦收录,转载请注明出处。
微信扫码 分享文章Dnsmasq使用参考入门
提供DNS缓存和DHCP服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存DNS请求来提高对访问过的网址的连接速度。作为DHCP服务器,dnsmasq可以为局域网电脑提供内网ip地址和路由,DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,此外它还自带了一个PXE服务器以及对邮件服务器的mx记录的支持,jabber的srv记录的支持等。它提供了DNS功能和可选择的DHCP功能可以取代dhcpd服务和bind等服务,配置起来更简单,更适用于虚拟化和大数据环境的部署。笔者在上海某机房中使用它的50台实体机和1000台虚拟机的各类爬虫应用提供解析服务,Dnsmasq配置文件是/etc/dnsmasq.conf,在它的配件文件中的注释已经给出了非常详细的解释。本文对这两项功能做比较实用的使用说明,有自己也有他人的经验。Dnsmasq的默认的配置文件中有许多选项,而且在设置上有很当灵活。dns与dhcp的许多功能它都具备。它可服务于那些只在本地适用的域名,这些域名是不会在全球DNS服务器中出现的(私有域名)。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。一般情况下,我们可以用bind解决dns的问题,dhcpd解决dhcp的问题,可用dnsmasq解决下面的一些维护问题:1、局域网有很多机器希望使用一致的hosts文件,你需要经常维护这份列表。2、你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以。优先使用本地自定义dns。3、阻止对某个域名的正常解析。---------------------------公用配置# 设置想监听的地址,要在本机上以守护进程方式启动dnsmasq做DNS缓存或DHCP地址分配服务器,如果仅为本机使用则写上127.0.0.1,编辑/etc/dnsmasq.conf,添加监听地址:listen-address=127.0.0.1# 如果用此计算机作为一组主机的默认 DNS,就需要使用固定 IP 地址:listen-address=192.168.8.1# 其它主机的dns设置使用这个ip为dns服务器(/etc/resolv.conf)。# 服务监听的网络接口地址listen-address=192.168.8.132,127.0.0.1# 改变Dnsmasq默认的uid和gid#user=#group=# 如果你想Dnsmasq监听某个端口为dhcp、dns提供服务#interface=# 你还可以指定哪个端口你不想监听#except-interface=# 关于其日志记录的几个选项log-queries&# Log lots of extra information about DHCP transactions.#log-dhcp&# Log to this syslog facility or file. (defaults to DAEMON)log-facility=/var/log/dnsmasq.log&# 异步log,缓解阻塞。log-async=20# 自动加载其它目录下的配置文件#conf-dir=/etc/dnsmasq.d---------------------------DNS配置dnsmasq能够缓存外部DNS记录,同时提供本地DNS解析或者作为外部DNS的代理,即dnsmasq会首先查找/etc/hosts等本地解析文件,然后再查找/etc/resolv.conf等外部nameserver配置文件中定义的外部DNS。所以说dnsmasq是一个DNS中继。DNS配置同样写入dnsmasq.conf配置文件里。同时在/etc/hosts文件中加入本地内网解析,这样一来每当内网机器查询时就会优先查询hosts文件,这就等于将/etc/hosts共享给全内网机器使用,从而解决内网机器互相识别的问题,比如像hadoop添加datanode节点时。相比逐台机器编辑hosts文件或者添加Bind记录,仅需要编辑一个/etc/hosts文件。如果你不想使用/etc/hosts,则取消下面的注释#no-hosts# 本地解析文件,如果你项读取其他类似/etc/hosts文件,则进行配置。hosts文件的强大之处还在于能够劫持解析,譬如mirror.debian.org是Debian仓库所在,可将它解析成一个内网地址,搭建一个内网镜像站,可以很快的安装软件源。#addn-hosts=/etc/banner_add_hosts# 主机名扩展,自动的给hosts中的name增加一个域名# 例如,/etc/hosts中的db1将扩展成db1.freeoa.netexpand-hosts# Add local-only domains here, queries in these domains are answered from /etc/hosts or DHCP only.local=/freeoa.net/&# 强制使用完整的解析名,从不转发格式错误的域名domain-needed# 如果只使用dhcp服务,完全禁止DNS功能,则可将设置为0。#port=5353# 以下两个参数告诉Dnsmasq过滤一些查询:1.哪些公共DNS没有回答 2.哪些root根域不可达。# 从不转发不在路由地址中的域名#bogus-priv# 添加额外的上级DNS主机(nameserver)配置文件(默认用/etc/resolv.conf),resolv-file配置Dnsmasq额外的向流的DNS服务器,如果不开启就使用linux主机默认的/etc/resolv.conf里的nameserver,通过下面的选项指定其他文件。#resolv-file=/etc/dnsmasq.d/upstream_dns.conf# 默认情况下Dnsmasq会发送查询到它的任何上游DNS服务器上,如果取消注释,则Dnsmasq则会严格按照/etc/resolv.conf中的DNS Server顺序进行查询。#strict-order# 以下两个参数控制是否通过/etc/resolv.conf确定上游服务器,是否检测/etc/resolv.conf的变化,则取消注释。# 如果你不想Dnsmasq读取/etc/resolv.conf文件或者其他文件,获得它的servers。即不使用上级DNS主机配置文件(/etc/resolv.conf和resolv-file)#no-resolv如果你不允许Dnsmasq通过轮询/etc/resolv.conf或者其他文件来获取配置的改变,则取消注释。 #no-poll# 可以为特定的域名指定解析它专用的nameserver。一般是内部dns name server# server=//192.168.8.1# 增加一个name server,一般用于内网域名#server=/localnet/192.168.8.1# 设置一个反向解析,所有192.168.3.0/24的地址都到10.1.2.3去解析#server=/3.168.192.in-addr.arpa/10.1.2.3# 增加一个本地域名,会在/etc/hosts中进行查询#local=/localnet/# 同上,还支持ipv6#address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83# 增加查询yahoo google和它们的子域名到ff、search查找# Add the IPs of all queries , , and their# subdomains to the ff and search ipsets:#ipset=///ff,search# 控制Dnsmasq和Server之间的查询从哪个网卡出去# server=10.1.2.3@eth1# 指定dnsmasq默认查询的上游服务器,此处以Google Public DNS为例。server=8.8.8.8server=8.8.4.4# 把所有.cn的域名全部通过114.114.114.114这台国内DNS服务器来解析server=/cn/114.114.114.114# 给*.和使用专用的DNSserver=//223.5.5.5server=/./223.6.6.6# 指定源地址携带10.1.2.3地址和192.168.8.1的55端口进行通讯# and this sets the source (ie local) address used to talk to# 10.1.2.3 to 192.168.8.1 port 55 (there must be a interface with that# IP on the machine, obviously).# server=10.1.2.3@192.168.8.1#55# 如果你想在某个端口只提供dns服务,则可以进行配置禁止dhcp服务#no-dhcp-interface=# 给设定一个默认的或给dhcp服务指定一个域名#domain=freeoa.net# 给dhcp的一个子域赋一个不同的域名#domain=wireless.thekelleys.org.uk,192.168.2.0/24# 同上,不过子域是一个范围了#domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200&# 设置DNS缓存大小(单位:DNS解析条数)cache-size=500# 增加一个域名,强制解析到所指定的地址上,强行指定domain的IP地址,dns欺骗address=/doubleclick.net/127.0.0.1address=/./202.175.5.114默认情况下:resolv-file指定dnsmasq从哪里获取上行DNS Server, 默认是从/etc/resolv.conf获取。配置 dnsmasq 的上游 dns 服务器,(因为这是一个 dns 缓存, 那么其还是需要有上级服务器进行一次域名解析的来源)addn-hosts指定dnsmasq从哪个文件中读取“地址 域名”记录, 默认是系统文件/etc/hosts。配置系统的 dns 服务器, 将 dnsmasq 设置在首位寻找。listen-address默认是监控在所有网卡上的,设置 dnsmasq 需要监听的 IP 地址。1、首先配置 resolv-file=/etc/resolv.dnsmasq.conf 这个参数表示 dnsmasq 会从这个指定的文件中寻找上级 dns 服务器列表,而不是从本机的(resolv.conf)中读取dns服务器列表,如果机器的地址是通过dhcp取得的话,该文件容易受到影响从而影响dnsmasq。系统首先寻找本地的 dnsmasq 服务器 取消注释的 strict-order 表示严格安装 resolv-file 文件中的顺序从上到下进行 DNS 解析, 直到第一个成功解析成功为止2、no-hosts, 默认情况下这是注释掉的, dnsmasq 会首先寻找本地的 hosts 文件,再去寻找缓存下来的域名, 最后去上级 dns 服务器中寻找;而addn-hosts可以使用额外的hosts文件。所以说dnsmasq是一个很不错的外部DNS中继。3、设置 listen-address=127.0.0.1,192.168.0.1 表示该 dnsmasq 服务可以在哪些地址上侦听,127那个地址即本机,对外提供服务的话要写上对应的网口所有的地址。4、其他配置项:cache-size=1024 设置缓存大小log-queries 开启debug模式,记录客户端查询记录到/var/log/debug中5、客户端机器配置,编辑/etc/resolv.conf ,调整内容为 'nameserver 192.168.0.1' (其中该IP是内部dns的IP,也即dnsmasq的地址)客户端测试域名是否生效:nslookup www.freeoa.net检查解析的IP即可,或使用dig指令。自定义主机名的ip地址指向先在'/etc/hosts'文件里加入两行:192.168.0.1 gateway192.168.0.8 home.freeoa.net编辑dnsmasq.conf,找到如下配置行:# Add local-only domains here, queries in these domains are answered# from /etc/hosts or DHCP only.local=/localnet/# Add domains which you want to force to an IP address here.# The example below send any host in doubleclick.net to a local# webserver.#address=/doubleclick.net/127.0.0.1address=//192.168.0.2重启dnsmasq即可,我们可在局域网另外一个机器用或命令测试。$ dig gateway; &&&& DiG 9.8.4-rpz2+rl005.12-P1 &&&& gateway;; global options: +cmd;; Got answer:;; -&&HEADER&&- opcode: QUERY, status: NOERROR, id: 43215;; flags: QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;gateway.&& &&& &&& &IN&& &A;; ANSWER SECTION:gateway.&& &&& &0&& &IN&& &A&& &192.168.0.1;; Query time: 2 msec由于默认的本机所使用的dns服务是dnsmasq所的机器,所以上面的查询是有效的。$ dig gateway @8.8.8.8; &&&& DiG 9.8.4-rpz2+rl005.12-P1 &&&& gateway @8.8.8.8;; global options: +cmd;; Got answer:;; -&&HEADER&&- opcode: QUERY, status: NXDOMAIN, id: 31552;; flags: QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0;; QUESTION SECTION:;gateway.&& &&& &&& &IN&& &A;; AUTHORITY SECTION:.&& &&& &&& &910&& &IN&& &SOA&& &a.root-servers.net. nstld..
800 86400;; Query time: 35 msec上面是使用google的dns所返回的结果,明显是没有找到,另外从'Query time'也可看出,使用了dnsmasq后性能提高了不少。在来看一下拦截并修改过的dns记录。$ dig home.freeoa.net; &&&& DiG 9.8.4-rpz2+rl005.12-P1 &&&& home.freeoa.net;; QUESTION SECTION:;home.freeoa.net.&& &&& &IN&& &A;; ANSWER SECTION:home.freeoa.net.&& &0&& &IN&& &A&& &192.168.0.8$ dig home.freeoa.net @8.8.4.4; &&&& DiG 9.8.4-rpz2+rl005.12-P1 &&&& home.freeoa.net @8.8.4.4;; QUESTION SECTION:;home.freeoa.net.&& &&& &IN&& &A;; ANSWER SECTION:home.freeoa.net.&& &199&& &IN&& &A&& &180.158.255.10上面是从内外部机器上查询的记录结果,后面的公网ip地址其实是我的公网地址,前者是内部nat地址,在内外部访问出来的结果是一样的,因为它们就是出自于同一台机器。对'*.'(像、)的请求都将内部的地址上(依据定义而定)。这个跟泛解析的概念相类似。---------------------------DHCP配置dnsmasq 配置文件(/etc/dnsmasq.conf),必要的配置如下:#选定需要侦听的网口# Only listen to routers' LAN NIC.& Doing so opens up tcp/udp port 53 to# localhost and udp port 67 to world:interface=&LAN-NIC&# dnsmasq will open tcp/udp port 53 and udp port 67 to world to help with# dynamic interfaces (assigning dynamic ips). Dnsmasq will discard world# requests to them, but the paranoid might like to close them and let the # kernel handle them:bind-interfaces#设定可分配的ip地址段和租约时间# Dynamic range of IPs to make available to LAN pcdhcp-range=192.168.1.50,192.168.1.100,12h#绑定某些机器的ip-mac地址对,使其具有固定的ip地址# If you’d like to have dnsmasq assign static IPs, bind the LAN computer's# NIC MAC address:dhcp-host=aa:bb:cc:dd:ee:ff,192.168.1.50dhcp-host=00:0e:7b:ca:1c:6e,daunbook,192.168.0.12#为192.168.0.12设置主机名:dannbook# dhcp动态分配的地址范围dhcp-range=192.168.8.50,192.168.8.150,24h# 同上,不过给出了掩码#dhcp-range=192.168.8.50,192.168.8.150,255.255.255.0,12h# dhcp服务的静态绑定# dhcp-host=08:00:27:D1:CF:E2,192.168.8.201,infinite 无限租期dhcp-host=08:00:27:D1:CF:E2,192.168.8.201,db2dhcp-host=08:00:27:D6:F0:9F,192.168.8.202,db3# 设置默认租期# Set the limit on DHCP leases, the default is 150#dhcp-lease-max=150# 租期保存文件#dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases# 通过/etc/hosts来分配对应的hostname#dhcp-host=judge# 忽略下面MAC地址的DHCP请求#dhcp-host=11:22:33:44:55:66,ignore&# dhcp所在的domaindomain=freeoa.net&# 设置默认路由出口# dhcp-option遵循RFC 2132(Options and BOOTP Vendor Extensions),可以通过dnsmasq --help dhcp来查看具体的配置# 很多高级的配置,如iSCSI连接配置等同样可以由RFC 2132定义的dhcp-option中给出。# option 3为default routedhcp-option=3,192.168.8.1# 设置NTP Server.这是使用option name而非选项名来进行设置#dhcp-option=option:ntp-server,192.168.8.4,10.10.0.5注意:当为某一MAC地址同时静态分配主机名和IP时,如果写到两条dhcp-host选项里(如下所示),则只会生效后面的一条。正确的选项写法如上配置。dhcp-host=08:00:27:D1:CF:E2,192.168.8.201 dhcp-host=08:00:27:D1:CF:E2,db2dhcp-host=08:00:27:D1:CF:E2,192.168.8.201dhcp-host=08:00:27:D1:CF:E2,db2重新启动客户端网卡。由于之前测试中客户端网卡已经申请了DHCP租期。所以这里需要修改租期文件,让客户端重新获得IP和hostname。总结相关的配置选项如下:expand-hostsdomain=freeoa.netdhcp-range=192.168.0.20,192.168.0.100,12hdhcp-option=3,192.168.0.1以上配置选项开启了DHCP服务,并且设置domain为“freeoa.net”。DHCP服务提供地址范围为 '192.168.0.20到 192.168.0.100' 续订期为12个小时。最后的一个选项指定了默认网关。如果要配置静态地址,可以对dhcp-host选项作以下设置:dhcp-host=00:0e:7b:ca:1c:6e,daunbook,192.168.0.12这样就会对MAC地址 11:22:33:44:55:66 赋主机名为 daunbook (.freeoa.net) IP 地址 192.168.0.12。dnsmasq另外一个特性是能够提供tftp服务,让网络启动(PXE)也得以实现。它可以设定默认MX记录,多种caching。提LDAP使用的SRV记录信息,PTR、SPF甚至是zeroconf记录等。测试测试一下 DNS 查询然后测量响应时间:$ dig archlinux.org | grep &Query time&}

我要回帖

更多关于 ipset 命令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信