配置PPPOE服务器访问外网
盒子连上我们的配置的pppoe-server不能ping通外网,请注意如下:
1.在你配置pppoe-server里打开ip转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
把文件的内容由0修改为1。禁用IP转发则把1改为0。上述命令仅仅是临时打开转发功能。上面的命令并没有保存对IP转发配置的更改,下次系统启动时仍会使用原来的值,要想永久修改IP转发,需要修改/etc/sysctl.conf文件,修改下面一行的值:
net.ipv4.ip_forward = 1
修改后可以重启系统来使修改生效,也可以执行下面的命令来使修改生效:
sysctl -p /etc/sysctl.conf
2.对pppoe-sever分配的地址进行nat转换:
iptables -t nat -I POSTROUTING -o eth0 -s 服务器分配的IP段-j MASQUERADE
iptables为Linux的防火墙命令,想学更多的可以去网上找教程。
上述命令的意义:
-t table 表的意思,主要有三张表:nat、filter、mangle。nat顾名思义是地址转换。
-I insert 插入。分为5个链(chain):NAT表常使用PREROUTING(路由前)、POSTROUTING (路由后),filter表是防火墙的默认表,常用的三条链:INPUT、OUTPUT、FORWARD。
-o 出口。
-s 源地址。
-j ACTION。平时会用到有ACCEPT(接受)、DROP(直接丢弃,不回复发送方)、REJECT(拒绝,回复发送方)、SNAT(源地址转换,参考IP报文,修改IP报文里的源地址信息)、DNAT (目标地址地址,转换参考IP报文,修改IP报文里的目标地址信息)
MASQUERADE 源地址伪装,一般用于pppoe,其实是特殊的SNAT类型