สงสัยเรื่อง Internet gateway ครับ

ผมใช้ Debian Etch ต่อ internet ผ่าน modem adsl ของ true ผ่านทาง pppoeconf
ได้ข้อมูลดังนี้

# ifconfig

.....

ppp0      Link encap:Point-to-Point Protocol
          inet addr:58.9.45.133  P-t-P:58.9.45.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:2051 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:594390 (580.4 KiB)  TX bytes:169235 (165.2 KiB)
.....

ใช้งานได้ดีครับ
ต่อมาอยากจะแชร์ internet ให้ notebook ผ่านเครื่องนี้

ผมติดตั้ง ipmasq จากบทความ

ตั้ง internet gateway อย่างง่าย ด้วย ipmasq

ผมติดตั้ง ตามคำแนะนำ ดังนี้

# aptitude install ipmasq

โดยระหว่างติดตั้ง ipmasq นั้นไม่มีคำถามใดๆถามเลยนะครับ

ต่อมาผมเข้าไปดูแฟ้ม /etc/network/interfaces
มีรายละเอียด ดังนี้

# The loopback network interface
auto lo
iface lo inet loopback

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

auto eth0

iface eth0 inet manual

หากผมจะปรับแต่งตามคำแนะนำ ผมควรแก้ไขจากเดิมอย่างไรบ้างครับ
แลนการ์ดในเครื่องของผม เป็น eth0 ยังไม่ได้ระบุ ip และ ตั้งใจ
จะต่อแลนการ์ดอีกใบ โดยจะระบุ ip ทั้ง 2 การ์ดตามที่แนะนำครับ

ผมควรคงของเดิมไว้ดังข้างต้น และต่อท้ายด้วยของใหม่ตามคำแนะนำ
หรือผมต้องลบของเดิมออกหมด แล้วปรับแก้ตามของใหม่ตามคำแนะนำครับ

iface eth0 inet static
    address 192.168.1.1
    gateway gateway-ip
    up      /usr/sbin/ipmasq
    down    /usr/sbin/ipmasq -r /etc/ipmasq/ipmasq-down

iface eth1 inet static
    address 192.168.2.1
    up      /usr/sbin/ipmasq
    down    /usr/sbin/ipmasq -r /etc/ipmasq/ipmasq-down

ผมสงสัยอีก 2 เรื่อง

1.gateway gateway-ip ตามที่อ้างไว้ในคำแนะนำ
ผมต้องใส่ ip ของใครกันครับ เพราะถ้าใส่ของ isp เกรงว่าจะเปลี่ยน
ไปเรื่อยๆ ตามการเชื่อมต่อโมเด็มแต่ละครั้ง

2.เครื่อง notebook ที่จะนำมาต่อเชื่อมกับเครื่องนี้ผมต้องต่อ
เข้ากับแลนการ์ดใบ eth1 ใช่มั้ยครับ และควรมี ip เป็น 192.168.2.2
ผมคิดว่าต้องระบุ gateway ของ notebook ให้เป็น ip 192.168.1.1 ใช่มั้ยครับ ส่วนสายแลนนั้น ผมต้องเข้าหัวธรรมดา หรือแบบสาย cross ครับ

ขอบคุณครับ

>> 1.gateway gateway-ip ตามที่อ้างไว้ในคำแนะนำ
>> ผมต้องใส่ ip ของใครกันครับ เพราะถ้าใส่ของ isp เกรงว่าจะเปลี่ยน
>> ไปเรื่อยๆ ตามการเชื่อมต่อโมเด็มแต่ละครั้ง

ของเก่าเอาไว้เหมือนเดิมทั้งหมดครับ เพราะเครื่องต่อเน็ตได้เรียบร้อยแล้ว เพิ่มเฉพาะ

auto eth1
iface eth1 inet static
  address 192.168.2.1
  up    /usr/sbin/ipmasq
  down /usr/sbin/ipmasq -r /etc/ipmasq/ipmasq-down

>> 2.เครื่อง notebook ที่จะนำมาต่อเชื่อมกับเครื่องนี้ผมต้องต่อ
>> เข้ากับแลนการ์ดใบ eth1 ใช่มั้ยครับ และควรมี ip เป็น 192.168.2.2
>> ผมคิดว่าต้องระบุ gateway ของ notebook ให้เป็น ip 192.168.1.1 ใช่มั้ยครับ ส่วนสายแลนนั้น
>> ผมต้องเข้าหัวธรรมดา หรือแบบสาย cross ครับ

เราต่อ Notebook กับ eth1 ก็ให้กำหนด
IP: 192.168.2.2
Gateway: 192.168.2.1
ส่วนสายนั้น ต้องเป็น Cross-Over Cable ครับ
ถ้าจะใช้สาย Direct ต้องต่อเข้ากับ Switch/Hub ครับ
___
Neutron: Linux Addict!

ผมได้ทดลองทำตามคำแนะนำแล้วครับเมื่อวาน
แต่ไม่สำเร็จครับ

พอมาคืนนี้ลองทำใหม่ ทำไปทำมา สามารถใช้งานได้ครับ
โดยเครื่อง notebook ที่นำมาต่อนั้นสามารถใช้ internet ได้สบายๆ

ผมทำตามขั้นตอนนี้

คือเครื่อง gateway ผมใส่เข้าไป 2 แลนการ์ด
และระุip-address ด้วยมือ ผ่านคำสั่ง ifconfig ครับ

eth0 = 192.168.1.1
eth1 = 192.168.2.1

โดยเครื่อง notebook 
มี ip-address เป็น 192.168.2.2
มี gateway เป็น 192.168.2.1
ทั้งนี้ต่อด้วยสาย cross ครับ

แล้วเรียกคำสั่ง pppoeconf ใหม่อีกครั้ง
พอเข้าไปดูรายละเอียดในแฟ้ม /etc/network/interfaces เป็นดังนี้

auto lo
iface lo inet loopback

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

auto eth0

iface eth0 inet manual

ดูแล้วไม่เหมือนคำแนะนำที่ให้มาหรือที่ดูจากหัวข้อ
การตั้ง internet gateway ด้วย ipmasq เลยนะครับ

จึงมีคำถามเพิ่ม 2 ข้อครับ

1. ดูเหมือนผมทำ internet gateway ได้โดยไม่ต้องใช้ ipmasq หรือครับ
หรือว่า ipmasq มันทำงานแล้วถึงแม้ ข้อความในแฟ้ม
/etc/network/interfaces จะไม่เหมือนที่แนะนำ

2. ผมพยายามกำหนด ip-address ให้กับแลนการ์ดทั้งสองใบด้วย
gnome ผ่านทางเมนูDesktop->Administration->Networking แต่
เหมือนไม่มีผลครับ จนต้องสั่งผ่านทาง ifconfig แทน

3. ผมดูจากคำสั่ง ifconfig ได้ข้อมูลแบบนี้ครับ
คือมี ppp0 และ ppp1 ถือว่าปกติหรือไม่ครับ

eth0      Link encap:Ethernet  HWaddr 00:02:44:71:D5:17
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::202:44ff:fe71:d517/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9786 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8903 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5534011 (5.2 MiB)  TX bytes:1294541 (1.2 MiB)
          Interrupt:11 Base address:0xd800

eth1      Link encap:Ethernet  HWaddr 00:E0:29:8F:89:A0
          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:29ff:fe8f:89a0/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:5576 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5888 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:805360 (786.4 KiB)  TX bytes:3677058 (3.5 MiB)
          Interrupt:5 Base address:0xdc00

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:62 errors:0 dropped:0 overruns:0 frame:0
          TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4616 (4.5 KiB)  TX bytes:4616 (4.5 KiB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:58.9.47.109  P-t-P:58.9.47.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:171 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:23304 (22.7 KiB)  TX bytes:54 (54.0 b)

ppp1      Link encap:Point-to-Point Protocol
          inet addr:58.9.49.60  P-t-P:58.9.49.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:8567 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8353 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:5254835 (5.0 MiB)  TX bytes:1076925 (1.0 MiB)

ขอบคุณครับ

ก่อนอื่น คำว่า "ตั้งค่าเหมือนเดิม" + "ตั้งค่าเพิ่มเติม"

# The loopback network interface
auto lo
iface lo inet loopback

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet static
  address 192.168.2.1
  netmask 255.255.255.0    <== เพิ่ม netmask เข้าไปหน่อยก็ดีนะ
  up    /usr/sbin/ipmasq
  down /usr/sbin/ipmasq -r /etc/ipmasq/ipmasq-down

>> 1. ดูเหมือนผมทำ internet gateway ได้โดยไม่ต้องใช้ ipmasq หรือครับ
>> หรือว่า ipmasq มันทำงานแล้วถึงแม้ ข้อความในแฟ้ม
>> /etc/network/interfaces จะไม่เหมือนที่แนะนำ

ถ้าพิจารณาตาม config แล้ว ipmasq จะถูกเรียกทุกครั้งที่ eth1 ถูกเรียกใช้งาน (up)
จึงเป็นเหตผลที่ว่า ต้องให้ interface อื่น ๆ ถูกเรียกใช้งานให้เรียบร้อยก่อน (eth0 ppp0)

>> 2. ผมพยายามกำหนด ip-address ให้กับแลนการ์ดทั้งสองใบด้วย
>> gnome ผ่านทางเมนูDesktop->Administration->Networking แต่
>> เหมือนไม่มีผลครับ จนต้องสั่งผ่านทาง ifconfig แทน

ผมไม่เคยใช้เลยครับ แนะนำไม่ได้จริง ๆ :)

>> 3. ผมดูจากคำสั่ง ifconfig ได้ข้อมูลแบบนี้ครับ
>> คือมี ppp0 และ ppp1 ถือว่าปกติหรือไม่ครับ

ไม่น่าจะปกติครับ แต่เผอิญว่าใช้งานได้ อาจเป็นเพราะว่ามีการเรียกซ้ำสองครั้งจึงทำให้ ppp1 เกิดขึ้นมา

ถ้าจะตรวจสอบว่า interface ไหนเป็นตัวหลัก ให้สั่ง

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0  <=== Default Gateway

ให้สังเกตช่อง Destination = 0.0.0.0 ในเครื่องผมออกอินเตอร์เน็ตที่ eth0
ส่วนเครื่องของคุณ น่าจะออกอินเตอร์เน็ตที่ ppp0 หรือไม่ก็ ppp1 ครับผม
ถ้าเป็นเช่นนี้ ipmasq จะทำการคำนวณค่าต่าง ๆ และกำหนดค่าตั้งให้เราเอง เพื่อที่จะทำให้เครื่อง
Notebook ที่นำมาต่อ สามารถเชื่อมต่อไปยังอินเตอร์เน็ตได้ ครับผม :)
___
Neutron: Linux Addict!

ขอบคุณครับ คุณ Neutron
เข้าใจเพิ่มมากขึ้นมานิดนึงครับ
- กรณีของผม ที่แสดง ppp0 และ ppp1 พร้อมกันนั้นไม่ปกติ
- ผมแก้ไขและปรับปรุงค่าของแฟ้ม /etc/network/interfaces ตามคำแนะนำแล้ว
- หลังจาก Reboot เครื่องใหม่ ตอนนี้ใช้งานได้น่าจะปกติ เพราะมีppp0 เท่านั้น
- การใช้งานเป็นปกติครับ เครื่องนี้ก็เข้าใช้งาน internet ได้เช่นเดียวกับ
เครื่อง notebook

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