您现在的位置: Tracy‘Blog > 博客 > Linux > 正文
servers setting
        上次换完系统后就没整理之前的pppoe-server和dns-server等之类的环境了。后来想了想,还是觉得得弄一弄。然后今天又搬了出来,虽说是有记录,并且文件有备份,但弄起来还是花了不少时间。说下这次遇到的问题和解决方案,留下点笔记吧。

pppoe-server
这里的问题是不怎么大的。直接apt-get install rp-pppoe,然后把先前的文件全部覆盖到/etc/ppp文件夹。然后,直接运行了下poe-ser.sh,结果不太让人满意,问题是,似乎没dns地址。看了看脚本,发现,以前用到的匹配字符是英语的,现在系统换中文了,然后,没匹配到ip。就改了下。poe-ser.sh如下:
#!/bin/bash
touch /var/log/pppoe.log
cp /etc/ppp/pap-secrets-poe /etc/ppp/pap-secrets
ip=`ifconfig | grep 'inet'| grep 172|grep -v '127.0.0.1'|grep -v 'Bcast'|cut -d: -f2 | awk '{print $1}'`;
ip_net=`ifconfig | grep 'inet'| grep 172|grep -v '127.0.0.1'|grep -v '172.31'|grep -v 'P-t-P'|cut -d: -f2 | awk '{print $1}'| head -n 1`;
echo $ip_net
cp /etc/ppp/pppoe-server-options_bak /etc/ppp/pppoe-server-options

# self dns setting
echo "nameserver $ip_net" > /etc/resolv.conf
#echo "nameserver 202.202.32.33" >> /etc/resolv.conf
#echo "nameserver 61.128.192.68" >> /etc/resolv.conf

# target dns setting
echo "ms-dns $ip_net" >> /etc/ppp/pppoe-server-options
#echo "ms-dns 202.202.32.33" >> /etc/ppp/pppoe-server-options

pppoe-server -I eth0 -L 113.250.159.1 -R 113.250.159.254 -N 100
iptables -t nat -F > /dev/null
iptables -t nat -L > /dev/null
#iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to $ip > /dev/null
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE > /dev/null
tail -f /var/log/pppoe.log | grep password 

其实吧,上面还有些地方的更改是根据dns-server的设置来的。先不解释吧,反正,这是最终版。再说下dns-server的折腾经历。

dns-server
从刚开始搭建这个框架的时候,就觉得哪儿有点问题来着的。因为客户端不能解析我dns-server记录之外的域名。然后~~问题也就出来了,不能达到更好的隐藏。怎么版呢?在我仅有的记忆力,似乎,dns服务器查不到的域名会向上级dns服务器去查询的。然后再以此反馈回来。但,为嘛出问题了呢?为啥不进行转发了呢?
在我原先的理解里是,dns-server的/etc/resolve.conf里设置了自身,以及备用dns-server之后,我的服务器会很智能的去上级查找并返回解析结果。可~~~tm是错的。这事等下再说。
先说说另外一件事,在我还没搞定dns转发之前,一直在琢磨一件事,当时环境如下:

dns服务器:172.22.144.211 ubuntu 14.04 bind9。添加了 aaa.bbb.com的记录,指向172.22.144.211. 而原本aaa.bbb.com的记录是指向222.222.222.222的。
客户机: 172.22.144.12 win7

我在客户机上设置主dns为192.168.1.12,辅助dns设置为8.8.8.8.
然后,神奇的事情来了。我在客户机上:
nslookup aaa.bbb.com
解析得到的地址是172.22.144.211

ping aaa.bbb.com
解析得到的地址是222.222.222.222

然后,我抑郁了,本地缓存么?嗯,有可能,然后就
 ipconfig /display | find "aaa.bbb.com"

发现还真有。好的,那就清空吧。
 ipconfig /flushdns

之后,再来看看。发现,特么结果没变?这是为啥呢?如下图:

于是,掏出wireshark,看抓包信息。
ping的时候,如下:

nslookup的时候,如下:

这,该怎么解释呢?为嘛两个走的不是同一个dns服务器,一个是主,一个是备选。
嗯,很奇怪。后来,发现,win上并没有主dns和备选之分,也就是,并没有优先级。
再然后,我要做的,就是给他只设置一个dns,然后希望能让客户机在访问 xunkoo.com的时候,走的是172.22.144.211的这台。在访问其他的我dns服务器上没有记录的时候,能够正确解析地址。
就问了问dfc,给的答复是。我并没有设置好dns forwarders。然后~~给了一连接:
https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-caching-or-forwarding-dns-server-on-ubuntu-14-04
对着里面设置了一番。把报错的点全改了改。然后~~

似乎正常了。
想要证实下,备选dns的影响,就再次设置了备选,结果如下:

所以说。备选dns的确,不一定是备选啊~~~我本意是想用备选dns来实现当主dns服务器没有解析记录的时候,自动去备选dns上寻求答案。可~~~它并没有那么做。
其实意思也就是,我可以不用强制性设置dns服务器的本地dns为127.0.0.1的。

好吧。事情就是这样了,又打了一天酱油。明天一定要好好看论文。

——Tracy_梓朋
2015年05月18日23:00:19
发表评论(0)
姓名 *
电子邮件
QQ
评论内容 *
验证码 *图片看不清?点击重新得到验证码请输入图片后链接字符‘a’