dhcp3-server กับ PPPoE

ผมตั้ง voyage linux (debian based) เครื่องหนึ่งเป็น server เพื่อที่จะ

  • เป็น ตัวหมุนโมเดม ผ่าน PPPoE กับ adsl router modem (ที่เซ็ตเป็น bridge mode) 4 ports
  • เป็น dhcpd แจก IP ให้กับลูกข่ายและแชร์อินเตอร์เน็ตไปด้วย

ผมเคยเซ็ตสำเร็จผ่าน m0n0wall (freebsd) ซึ่งเป็นโปรแกรมสำเร็จรูปสำเร็จ ดังนี้ครับ

===================
|| bridged modem || 
===================
^         ^         \
|         |          \
|         |           \
PPPoE     |            \
(ppp0     |             \
over     eth1            \
eth0)     |               \
|         |                \
|         |               =====================
|         |               ||client 192.168.1.7||
|         |               ======================
v         v  
========================
|| M0n0wall           ||
|| eth0 ??.??.??.??   ||
|| eth1 192.168.1.222 ||
========================

ที่นี้ผมต้องการเปลี่ยนเซิร์ฟเวอร์จาก m0n0wall เป็น debian ครับ
คำถามแรกคือ ผมสามารถ dhcp ไปบนสาย eth0 เส้นเดียวกับที่ทำ PPPoE เช่นนี้ได้หรือไม่

===================
|| bridged modem || 
===================
^            \
|             \
|              \
PPPoE           \
(ppp0 over eth0) \
|                 \
|                 ===============================
|                 ||client 192.168.1.7 from dhcp||
|                 ===============================
v
========================
|| Voyage             ||
|| eth0 192.168.1.222 ||
========================

หรือว่าผมต้องต่อสายอีกเส้น (eth1) เท่านั้นครับ

คำถามที่สองเป็นปัญหาเกี่ยวกับการคอนฟิกครับ คือผมไม่สามารถเซ็ตแบบที่ใช้สายเส้นเดียวได้บน debian ครับ ติดปัญหาที่ dhcp3-server ดูใน syslog มันบอกว่า

dhcpd: Wrote 0 leases to leases file.
dhcpd: Can't bind to dhcp address: Address already in use
dhcpd: Please make sure there is no other dhcp server
dhcpd: running and that there's no entry for dhcp or
dhcpd: bootp in /etc/inetd.conf.   Also make sure you
dhcpd: are not running HP JetAdmin software, which
dhcpd: includes a bootp server.

อันนี้เป็น dhcpd.conf

...
subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.222;
        pool{
                range 192.168.1.1 192.168.1.10;
                allow unknown clients;
        }
}
...
# nmap 192.168.1.1-10

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2000-01-01 08:02 ICT
Nmap finished: 10 IP addresses (0 hosts up) scanned in 0.286 seconds

ผมลองแบบที่สองที่ใช้สายสองเส้นครับ เจอปัญหาคล้ายกัน syslog มันบอกว่า

dhcpd: Wrote 0 leases to leases file.
dhcpd: Multiple interfaces match the same subnet: eth0 eth1
dhcpd: Multiple interfaces match the same shared network: eth0 eth1
dhcpd: Can't bind to dhcp address: Address already in use
dhcpd: Please make sure there is no other dhcp server
dhcpd: running and that there's no entry for dhcp or
dhcpd: bootp in /etc/inetd.conf.   Also make sure you
dhcpd: are not running HP JetAdmin software, which
dhcpd: includes a bootp server.

พอจะมีใครให้คำแนะนำได้บ้างไหมครับ

ตามที่เคยติดตั้งมานะครับ

  • ประการแรก Interface ที่ใช้ต่อ PPPoE (eth0) ผมจะไม่ตั้งค่า IP ไว้ เนื่องจากจุดประสงค์ของเราคือใช้ต่อ PPP และต้องการตัดปัญหาเรื่องการตั้งค่าผิดพลาดและส่งผลไปสู่การรบกวน PPPoE Server ของผู้ให้บริการ (Providers) เนื่องจากการใช้ลักษณะที่กล่าวมาข้างต้น (ภาพที่ 1 และ 2) เป็นการใช้ ADSL Router/Modem ทำงานแบบ Bridge Mode หรือทำหน้าที่เป็น Modem ซึ่งก็เสมือนกับเราต่อกับระบบเครือข่ายของผู้ให้บริการโดยตรง การตั้งค่าใด ๆ ที่ Interface นี้ อาจส่งผลกระทบกับผู้ให้บริการ (ในกรณีที่ผู้ให้บริการไม่ได้ทำการป้องกันไว้) หรือไม่ ผมอาจจะเข้าใจผิดก็ได้ แต่กันไว้ดีกว่าแก้
  • คำถามถัดมาคือ ADSL Router/Modem ที่ว่ามี 4 Ports ที่ว่า เป็นแบบไหนครับ คือ มี ADSL 1 Port กับ Switch อีก 3 หรือ 4 Ports หรือเปล่า ? ถ้าเป็นอย่างนั้น ต้องตรวจสอบว่า แต่ละ Ports มีความสัมพันธ์กันอย่างไร ทุก Ports เสมือนเชื่อมต่อ (Bridge) กันหรือไม่ หรือเฉพาะ Switch ที่ Bridge กัน หากเฉพาะ Switch ก็ให้ดำเนินการตามภาพที่ 1 ครับ คือ แยก PPPoE Port (eth0) กับ Server Port (eth1)

___
Neutron: Linux Addict!

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้