Motivasi:
Saya ingin menggunakan server linux saya daripada router nirkabel rata-rata karena beberapa alasan
- Saya ingin belajar cara mengatur server yang lebih lengkap di linux
- Saya tidak ingin memiliki modem, terhubung ke router, terhubung ke switch jaringan
- Saya sakit dan lelah karena harus mencabut router saya setiap 10 hari karena hanya hang
- Saya muak dan lelah membeli router hanya untuk menyadari bahwa mereka kehilangan sesuatu yang penting, seperti port forwarding atau ip addressing statis (dhcp)
Mendirikan:
Pada akhirnya, koneksi akan datang ke modem, dan langsung ke server saya melalui eth0
, kemudian eth1
akan output ke switch jaringan yang semua komputer klien lain akan terhubung ke melalui kabel ethernet (lupakan nirkabel untuk saat ini). Namun, saat ini, saya berada di gedung perkantoran, dan saya memiliki koneksi yang masuk ke modem, yang masuk ke router, yang masuk ke switch jaringan, yang kemudian masuk eth0
seperti yang ditentukan di atas.
Tutorial Saat Ini:
Saya melihat beberapa tutorial (tutorial Ubuntu adalah yang terbaik), dan saya telah melihat beberapa pertanyaan router di sini (mis. Yang ini ), tetapi semuanya membahas beberapa konsep utama, seperti:
- Apa
eth1
hubungannya denganeth0
? Dalam/etc/network/interfaces
apakah saya harus memberitahueth1
untuk menggunakaneth0
sebagainetwork
(umumnya itu adalah alamat router fisik yang sebenarnya)? - Apakah saya harus melakukan apa pun untuk menginstruksikan
eth1
untuk mengambil internet yang masuketh0
dan meneruskannya kepada siapa pun yang menginginkannya di switch jaringan?
Pendekatan saat ini:
Ini /etc/network/interfaces
file saya di server:
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
Dan ifconfig
beri tahu saya bahwa kedua NIC berfungsi dengan baik:
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)
Dan inilah yang ada route -n returns
di server:
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
Kemudian pada klien yang saya miliki
auto lo
iface lo inet loopback
iface eth0 inet dhcp
Tetapi tidak diberi alamat ip.
EDIT: Ini adalah file konfigurasi server isc-dhcp-server /etc/dhcp3/dhcpd.con
yang saya salin sebagian besar dari situs ini .
# 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: Output darisudo 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
Pertanyaan:
Langkah / komponen penting apa yang saya lewatkan dalam pengaturan ini?
sumber
dhcp
(dan dengan demikiandhcpd
) tidak wajib, dan hanya dimaksudkan untuk memusatkan semua ips statis di server (sebagai lawan mengubah/etc/network/interfaces
file di setiap host). Karena itu, saya telah memutuskan untuk tidak bereksperimen dengan itu sampai ini berhasil. Namun saya telahdhcp3-server
menginstal, sertaisc-dhcp-server
dhcpd.conf
file dan menunjukkan bahwa saya menggunakanisc-dhcp-server
Jawaban:
Saya harus pergi seperti Jack the ripper karena beberapa hal hilang yang Anda miliki:
Jika klien Anda akan menggunakan DHCP untuk mendapatkan IP, Anda memerlukan server DHCP.
Di klien ini menunjukkan bahwa mereka akan mendapatkan IP mereka dari server DHCP, jika Anda tidak mengatur server DHCP, Anda harus menggunakan IP tetap atau menginstal server DHCP.
Anda tidak memiliki server DNS yang dikonfigurasi di klien. Baik karena kurangnya server DHCP, atau Anda mungkin ingin menggunakan server DNS lokal untuk semua jaringan Anda.
Anda tidak menawarkan
iptables
aturan (keluaran darisudo iptables -L
) tetapi saya bisa menebak bahwa Anda tidak mengaktifkan aturan Masquerade, atau IP forwarding seperti yang dijelaskan .Alamat IP
eth1
tidak disarankan. Setiap IP yang diakhiri0
biasanya adalah jaringan itu sendiri, dan sebagian besar router / firewall hanya akan kebingungan ketika ini digunakan . Ubah192.168.7.1
dan Anda sebagian besar akan baik-baik saja.broadcast
Nilai Anda dieth1
antarmuka tidak benar. Mengirim paket ke mana-mana. Nilai yang benar (dengan mempertimbangkan nilai antarmuka lainnya) adalah192.168.7.255
.Pilihan Anda di server DHCP ganas. Paket ARP ke router Anda tidak akan pernah mencapai. Inilah yang harus Anda miliki:
Ikuti ini dan kemungkinan besar Anda akan memiliki router Anda bekerja.
sumber
sudo iptables -L
pertanyaan192.168.7.255
dan baris 8subnet 192.168.7.0
.255
adalah alamat broadcast yang biasanya digunakan, paket apa pun yang dikirim ke arah itu akan dikirim ke semua sistem dalam subnet yang sama. Berarti setiap paket yang dikirim ke 1.2.3.255 akan diterima oleh sistem apa pun yang IP-nya mulai dengan 1.2.3 karena semuanya berada dalam subnet yang sama en.wikipedia.org/wiki/Subnetwork#IPv4_subnettingdhcp
atau jaringan. Akan melakukan alamat ip statis untuk menguji. untuk ip statis pada klien, apakah saya menggunakaneth1
alamat ip sebagai gateway?Braiam menjawab pertanyaan saya, tetapi saya pikir akan sangat membantu untuk melakukan penelusuran menyeluruh di sini. Perbarui ini jika saya melakukan kesalahan.
Pertama make yakin Anda memiliki dua kartu ethernet (NIC) dan memperbarui
/etc/network/interfaces
berkas seperti itu (jangan tidak kesalahan ini untuk/etc/networks
file).Untuk menemukan Anda
gateway
,broadcast
dannetwork
, ikuti instruksi ini .Selanjutnya, masuk ke klien dan edit file
/etc/network/interface
(sekali lagi, bukan/etc/networks
) untuk ip statis terlebih dahulu, untuk memastikan bahwa setidaknya kartu NIC berfungsi.Ubah nilai agar sesuai dengan nilai di atas. Jika berhasil, besar, kemudian gunakan petunjuk di sini tapi mengikuti mereka persis , karena ada beberapa
dhcp
file sehingga jangan kesalahan folder/etc/dhcp
dengan/etc/dhcp3
dan sebagainya.sumber