0x01 前言
为了能集中管控家里的网络,我抛弃使用路由器拨号的方法连接网络。其实是因为家里的极路由3存在传输性能瓶颈,全百兆的LAN口不能满足我服务器之间通讯的性能需求,以后要是能添置一台机架式的路由器再使用路由器拨号。
还要配置DHCP服务,将DHCP的网关使用iptables NAT进行转发到PPPoE,由此来让我家里的设备连接上网络。但这篇文章并不设计DHCP服务器的部分,DHCP的配置我过几天在写。
0x02 安装
安装依旧使用yum:
[root@test ~]# yum install rp-pppoe -y
完成后你会发现有以下几个pppoe软件:
pppoe pppoe-connect pppoe-discovery pppoe-relay pppoe-server pppoe-setup pppoe-sniff pppoe-start pppoe-status pppoe-stop
0x03 配置
使用pppoe-setup进行交互式配置:
[root@test ~]# pppoe-setup Welcome to the PPPoE client setup. First, I will run some checks on your system to make sure the PPPoE client is installed properly... #这里请输入宽带账号 LOGIN NAME Enter your Login Name (default root): [email protected] #这里请指定与modem相连接的网卡名称,我的是eth0 INTERFACE Enter the Ethernet interface connected to the PPPoE modem For Solaris, this is likely to be something like /dev/hme0. For Linux, it will be ethX, where 'X' is a number. (default eth0): #是否使用空闲断开?我选择NO,默认也是NO Do you want the link to come up on demand, or stay up continuously? If you want it to come up on demand, enter the idle time in seconds after which the link should be dropped. If you want the link to stay up permanently, enter 'no' (two letters, lower-case.) NOTE: Demand-activated links do not interact well with dynamic IP addresses. You may have some problems with demand-activated links. Enter the demand value (default no): #设置DNS服务器地址 DNS Please enter the IP address of your ISP's primary DNS server. If your ISP claims that 'the server will provide dynamic DNS addresses', enter 'server' (all lower-case) here. If you just press enter, I will assume you know what you are doing and not modify your DNS setup. #DNS1服务器地址,我自建有DNS缓存服务器,所以我填写的是10.1.1.1 #个人建议使用DNS服务器:114.114.114.114 Enter the DNS information here: 10.1.1.1 #DNS2服务器地址,我没有冗余的DNS服务器,也不想用公共DNS,所以我留空 #个人建议使用DNS服务器:114.114.115.115 Please enter the IP address of your ISP's secondary DNS server. If you just press enter, I will assume there is only one DNS server. Enter the secondary DNS server address here: #这里请输入宽带密码,要注意的是输入的时候并不会显示字符。按顺序输入然后回车即可 PASSWORD Please enter your Password: Please re-enter your Password: #是否允许普通用户打开和关闭DSL连接? #如果你担心安全问题,请设为no。仅能用root用户连接或断开 USERCTRL Please enter 'yes' (three letters, lower-case.) if you want to allow normal user to start or stop DSL connection (default yes): #防火墙,我的网络使用iptables控制,这里的防火墙我选择0关闭 FIREWALLING Please choose the firewall rules to use. Note that these rules are very basic. You are strongly encouraged to use a more sophisticated firewall setup; however, these will provide basic security. If you are running any servers on your machine, you must choose 'NONE' and set up firewalling yourself. Otherwise, the firewall rules will deny access to all standard servers like Web, e-mail, ftp, etc. If you are using SSH, the rules will block outgoing SSH connections which allocate a privileged source port. The firewall choices are: 0 - NONE: This script will not set any firewall rules. You are responsible for ensuring the security of your machine. You are STRONGLY recommended to use some kind of firewall rules. 1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation 2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway for a LAN Choose a type of firewall (0-2): 0 #启动系统的时候尝试连接网络? #我选择yes Start this connection at boot time Do you want to start this connection at boot time? Please enter no or yes (default no):yes #确认上面设置的内容 ** Summary of what you entered ** Ethernet Interface: eth0 User name: [email protected] Activate-on-demand: No Primary DNS: 10.1.1.1 Firewalling: NONE User Control: yes Accept these settings and adjust configuration files (y/n)? y Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0 Adjusting /etc/resolv.conf (But first backing it up to /etc/resolv.conf.bak) Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets (But first backing it up to /etc/ppp/chap-secrets.bak) (But first backing it up to /etc/ppp/pap-secrets.bak) Congratulations, it should be all set up! Type '/sbin/ifup ppp0' to bring up your xDSL link and '/sbin/ifdown ppp0' to bring it down. Type '/sbin/pppoe-status /etc/sysconfig/network-scripts/ifcfg-ppp0' to see the link status.
0x04 启动 | 状态 | 使用
通过以下命令即可启动:
[root@test ~]# pppoe-start
通过以下命令查看状态:
[root@base ~]# pppoe-status pppoe-status: Link is up and running on interface ppp0 5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp inet 183.12.130.9 peer 183.12.128.1/32 scope global ppp0 valid_lft forever preferred_lft forever
成功拨号后即可上网,默认路由就是ppp0接口:
[root@base ~]# ip route default dev ppp0 scope link 10.1.1.0/24 dev ens8 proto kernel scope link src 10.1.1.1 metric 100 183.12.128.1 dev ppp0 proto kernel scope link src 183.12.130.9
如果需要让DHCP网关也能连接上网络,可以通过以下的iptables NAT实现功能需求。当然,前提是需要配置好DHCP服务:
iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o ppp0 -j MASQUERADE
我局域网使用的是10.1.1.0网段,请将上面命令中的网段替换为你网络实际的网段。
0x05 结语
其实我现在的居住地还没有百兆光纤,只有12M铜缆的网络。ADSL的性能提升还不能很好地体现,但局域网内的通讯效率却有所提高。我服务器上有4个千兆网口,关于我服务器的详情请点击下面的连接: