Мотивація:
Я хочу використовувати мій сервер Linux замість середнього бездротового маршрутизатора з кількох причин
- Хочу дізнатися, як налаштувати більш повний сервер на Linux
- Я не хочу, щоб модем, підключений до маршрутизатора, був підключений до мережевого комутатора
- Мені нудно і втомитися від того, щоб розмикати маршрутизатор кожні 10 днів, тому що він просто зависає
- Мені нудно купувати маршрутизатори, щоб зрозуміти, що їм не вистачає чогось важливого, наприклад, переадресація портів або статична IP-адресація (dhcp)
Налаштування:
Зрештою, з'єднання перейде в модем, і прямо на мій сервер eth0
, а потім eth1
вийде до мережевого комутатора, до якого підключуватимуться всі інші клієнтські комп'ютери за допомогою Ethernet-кабелів (на сьогодні забудьте бездротовий зв'язок). Однак зараз я перебуваю в офісній будівлі, і у мене є з'єднання, що надходить в модем, який переходить в маршрутизатор, який переходить в мережевий комутатор, який потім переходить у eth0
вказане вище.
Поточні навчальні посібники:
Я переглянув кілька навчальних посібників ( найкращий підручник з Ubuntu ), і я переглянув деякі питання щодо маршрутизатора (тобто цього ), але всі вони переглядають декілька ключових понять, наприклад:
- Яке
eth1
відношення стосується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 не присвоюється.
EDIT: Ось файл конфігураційного сервера isc-dhcp-сервера, на /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;
}
EDIT: вихід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