แรงจูงใจ:
ฉันต้องการใช้เซิร์ฟเวอร์ linux แทนเราเตอร์ไร้สายโดยเฉลี่ยด้วยเหตุผลหลายประการ
- ฉันต้องการเรียนรู้วิธีตั้งค่าเซิร์ฟเวอร์ที่สมบูรณ์ยิ่งขึ้นบน linux
- ฉันไม่ต้องการมีโมเด็มเชื่อมต่อกับเราเตอร์เชื่อมต่อกับสวิตช์เครือข่าย
- ฉันป่วยและเบื่อที่จะต้องถอดปลั๊กเราเตอร์ของฉันทุก ๆ 10 วันเพราะมันแค่แฮงค์
- ฉันป่วยและเบื่อที่จะซื้อเราเตอร์เพื่อรู้ว่าพวกเขาขาดสิ่งสำคัญเช่นการส่งต่อพอร์ตหรือที่อยู่ ip แบบคงที่ (dhcp)
ติดตั้ง:
ในที่สุดการเชื่อมต่อจะเข้าสู่โมเด็มและส่งตรงไปยังเซิร์ฟเวอร์ของฉันeth0
จากนั้นeth1
จะส่งออกไปยังสวิตช์เครือข่ายซึ่งคอมพิวเตอร์ไคลเอนต์อื่น ๆ ทั้งหมดจะเชื่อมต่อผ่านสายอีเธอร์เน็ต (ลืมไร้สายสักครู่) อย่างไรก็ตามในปัจจุบันฉันอยู่ในอาคารสำนักงานและฉันมีการเชื่อมต่อเข้ามาในโมเด็มซึ่งเข้าสู่เราเตอร์ซึ่งจะเข้าสู่สวิตช์เครือข่ายซึ่งจะไปeth0
ตามที่ระบุข้างต้น
บทแนะนำปัจจุบัน:
ฉันดูบทเรียนบางส่วน (บทช่วยสอนของUbuntuเป็นคำถามที่ดีที่สุด) และฉันได้ดูคำถามเราเตอร์บางส่วนที่นี่ (นั่นคือคำถามนี้ ) แต่พวกเขาทั้งหมดมองข้ามแนวคิดหลักหลายประการเช่น:
- คืออะไร
eth1
's ความสัมพันธ์กับeth0
? ใน/etc/network/interfaces
ฉันจะต้องบอกeth1
ที่จะใช้eth0
เป็นnetwork
(โดยทั่วไปก็เป็นจริงที่อยู่เราเตอร์กายภาพ)? - ฉันต้องทำอะไรเพื่อสั่ง
eth1
ให้ใช้อินเทอร์เน็ตที่เข้ามาeth0
และส่งต่อไปยังใครก็ตามที่ต้องการในสวิตช์เครือข่ายหรือไม่?
แนวทางปัจจุบัน:
นี่คือ/etc/network/interfaces
ไฟล์ของฉันบนเซิร์ฟเวอร์:
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.70
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
auto eth1
# iface eth1 inet dhcp
iface eth1 inet static
address 192.168.7.0
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
และifconfig
บอกฉันว่านิคส์ทั้งสองทำงานได้ดี:
eth0 Link encap:Ethernet HWaddr 20:cf:30:55:a0:5f
inet addr:192.168.1.70 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::22cf:30ff:fe55:a05f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11297 errors:0 dropped:0 overruns:0 frame:0
TX packets:16639 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:948633 (948.6 KB) TX bytes:1274685 (1.2 MB)
eth1 Link encap:Ethernet HWaddr 00:11:95:f7:f4:6d
inet addr:192.168.7.0 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::211:95ff:fef7:f46d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:243 errors:0 dropped:0 overruns:0 frame:0
TX packets:3231 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:29934 (29.9 KB) TX bytes:213055 (213.0 KB)
Interrupt:21
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:65536 Metric:1
RX packets:5348 errors:0 dropped:0 overruns:0 frame:0
TX packets:5348 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:470737 (470.7 KB) TX bytes:470737 (470.7 KB)
wlan0 Link encap:Ethernet HWaddr bc:f6:85:f8:70:5c
UP BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
และนี่คือสิ่งที่route -n returns
อยู่บนเซิร์ฟเวอร์:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
จากนั้นเมื่อลูกค้าฉันมี
auto lo
iface lo inet loopback
iface eth0 inet dhcp
แต่มันไม่ได้ถูกกำหนดที่อยู่ IP
แก้ไข:นี่คือไฟล์กำหนดค่า isc-dhcp-server /etc/dhcp3/dhcpd.con
ซึ่งฉันส่วนใหญ่คัดลอกมาจากเว็บไซต์นี้
# Sample /etc/dhcpd.conf
# (add your comments here)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.10 192.168.7.25;
}
แก้ไข:ผลผลิตจากsudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
คำถาม:
ฉันขาดขั้นตอน / ส่วนประกอบสำคัญใดในการตั้งค่านี้
dhcp
(และดังนั้นdhcpd
) ไม่ได้บังคับและมีความหมายเฉพาะสำหรับการรวมศูนย์ ips แบบคงที่ทั้งหมดที่เซิร์ฟเวอร์ (ตรงข้ามกับการเปลี่ยน/etc/network/interfaces
ไฟล์ในทุกโฮสต์) ดังนั้นฉันจึงตัดสินใจที่จะไม่ทดลองจนกว่าจะได้ผล ฉันทำอย่างไรก็ตามมีการdhcp3-server
ติดตั้งเช่นเดียวกับisc-dhcp-server
dhcpd.conf
ไฟล์และระบุว่าฉันกำลังใช้isc-dhcp-server