TIP&TECH/리눅스
리눅스에 PPPoE 서버 구축하기
kyudoc
2013. 3. 14. 12:27
728x90
※ 이 포스팅에 사용된 리눅스는 페도라를 사용하였습니다.
PPPoE 서버를 구축하고 테스트하기 위해 다음과 같이 환경을 구축 하였습니다.
리눅스에 PPP 데몬 및 PPPoE 플러그인을 설치합니다(yum을 이용하였습니다).
# yum -y install ppp rp-pppoe |
- 쉘 프롬프트 앞이 #로 시작되는 것은 root에서 실행하는 것을 가르킨다.
PPPoE 관련 설정을 합니다.
# cat > /etc/ppp/pppoe-server-options << "EOF" # PPP options for the PPPoE server # LIC: GPL require-chap login lcp-echo-interval 10 lcp-echo-failure 2 ms-dns 10.0.2.3 netmask 255.255.255.0 defaultroute noipdefault usepeerdns EOF |
- 설정에 사용된 각 옵션이 무엇을 의미하는지 다 알지 못하여 설명해 드리지 못했습니다...
# cat << "EOF" | tee -a /etc/ppp/chap-secrets > /dev/null 2>&1 "test" * "test" 192.168.1.1 EOF |
# echo "192.168.1.1-20" > /etc/ppp/allip |
PPPoE 서버를 시작하기 위한 스크립트를 작성합니다.
# cat > /etc/ppp/pppoe-start << "EOF" #!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward pppoe-server -C isp -L 192.168.1.254 -p /etc/ppp/allip -I eth1 -m 1412 iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE EOF # chmod +x /etc/ppp/pppoe-start |
PPPoE 서버를 중지하기 위한 스크립트를 작성합니다.
# cat > /etc/ppp/pppoe-stop << "EOF" #!/bin/bash echo 0 > /proc/sys/net/ipv4/ip_forward killall pppoe-server iptables -t nat -F POSTROUTING EOF # chmod +x /etc/ppp/pppoe-stop |
PPPoE 서버를 시작합니다.
# /etc/ppp/pppoe-start |
이러면 PPPoE 서버 구축을 완료하였습니다. 이제 타깃 보드에서 PPPoE 접속을 해보겠습니다.
커널 빌드 옵션에서 PPPoE를 활성화하고, PPP 데몬 소스를 다운받아(ftp://ftp.samba.org/pub/ppp/ppp-2.4.5.tar.gz) 빌드하여 타깃 보드에 설치합니다.
Device Drivers ---> [*] Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP over Ethernet (EXPERIMENTAL) |
타깃 보드에 연결 설정을 합니다.
# cat > tee /etc/ppp/options << "EOF" plugin rp-pppoe.so eth0 defaultroute usepeerdns user "test" noauth noipdefault hide-password debug EOF |
# cat << "EOF" | tee -a /etc/ppp/chap-secrets > /dev/null 2>&1 "test" * "test" * EOF |
다음과 같이 ppp 데몬을 실행하면 접속이 된 것을 확인하실 수 있습니다.
# pppd Plugin rp-pppoe.so loaded. RP-PPPoE plugin version 3.8p compiled against pppd 2.4.5 # ifconfig eth0 Link encap:Ethernet HWaddr 12:34:56:78:90:AA inet6 addr: fe80::1034:56ff:fe78:90aa/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:43 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4429 (4.3 KiB) TX bytes:4018 (3.9 KiB) Interrupt:33 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) ppp0 Link encap:Point-to-Point Protocol inet addr:192.168.1.1 P-t-P:192.168.1.254 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:76 (76.0 B) TX bytes:70 (70.0 B) # ping 192.168.1.254 PING 192.168.1.254 (192.168.1.254): 56 data bytes 64 bytes from 192.168.1.254: seq=0 ttl=64 time=26.023 ms 64 bytes from 192.168.1.254: seq=1 ttl=64 time=23.892 ms 64 bytes from 192.168.1.254: seq=2 ttl=64 time=22.464 ms 64 bytes from 192.168.1.254: seq=3 ttl=64 time=21.808 ms --- 192.168.1.254 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 21.808/23.546/26.023 ms |
참고 사이트
728x90