終於搞明白pppoe + NAT 作上網伺服器的原理了,哈哈哈。
rp-PPPoE設定:
檢查rppppoe裝上沒有(redFlag已經裝上)
rpm -qa | grep -i "pppoe"
/etc/ppp/pap-secrets配置如下:
#client server secret IP address
"usr" * "123" *
/etc/ppp/chap-secrets的配置和pap-secrets一樣
/etc/ppp/pppoe-server-options配置如下:
#auth #注釋掉這三行使用任意帳號就可以登入
#require-pap
#require-chap
login
lcp-echo-interval 30
lcp-echo-failure 4
ms-dns 202.118.224.101
然後運行:
modprobe pppoe
pppoe-server -I eth1 -N 200 -L 192.168.0.1 -R 192.168.0.100 -r -u
iptables設定:
開啟ip轉寄和NAT功能
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F
iptables -t nat -L
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 219.217.235.73
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT -s 192.168.0.0/24 --to 219.217.235.73
pppoe-server -I eth1 -r -u
用xp串連就可以了
注意:
為了防止區域網路內使用者佈建ip和eth1一致,從而達到間接上網的目的,必須將eth1的ip設定為空白!
我猜測
用NAT上網時,客戶設定好ip和網關為eth1後,發給伺服器的串連會被iptables識別並路由過去。
用pppoe設定好後,客戶如果沒有建立pppoe串連,
發給伺服器的資料報會被過慮到,iptables識別不了。
而建立串連後,iptables識別就能識別出他來了。
具體是怎麼實現的有待研究。