導航:首頁 > 操作系統 > linuxdhcpserver

linuxdhcpserver

發布時間:2024-11-01 10:00:28

linux中如何控制埠流量

配置網卡
建立一台虛擬機,並安裝完成後以橋接的方式在虛擬機上面添加兩張網卡。分別為eth0和eth1。
eth0: a.b.c.d(外網的上網地址)
eth1: 172.16.44.1(做為內網的網關)

Tip
原先我使用eth0:0的這種虛擬網卡的形式去配置一直不成功,後來使用雙網卡的時候一直忘了把eth0:0這張虛擬網卡刪掉導致了限速配置一直不成功,浪費了大把的青蔥。
配置iptables nat
#開啟ip_forward
echo "1">/proc/sys/net/ipv4/ip_forward

#清除原來的防火牆規則
iptables -F
iptables -t nat -F
iptables -t mangle -F

#添加nat轉發
iptables -t nat -A POSTROUTING -s 172.16.44.0/24 -o eth0 -j MASQUERADE

通過執行上面的代碼後,區域網內的電腦就可以上網了。
埠轉發
由於我的內網還掛了網站,所以要開啟80埠的轉發。
iptables -t nat -I PREROUTING -p tcp -d a.b.c.d --dport 80 -j DNAT --to 172.16.44.210:80
iptables -t nat -I POSTROUTING -p tcp -d 172.16.44.210 --dport 80 -j SNAT --to 172.16.44.1

這條命令指定外網地址a.b.c.d的80埠轉發到172.16.44.210:80上。由於是雙網卡,所以需要做一下迴路。
下載限速
下載限速要在eth1上面做,判斷數據包的目的地址來做限制。tc包括三部分:隊列、類、過濾器。我使用了htb方式去限制速度,也可以使用cbq,但cbq配置比較復雜一點,而且據說性能沒htb好。
#刪除原來的tc規則隊列
tc qdisc del dev eth1 root
#添加tc規則隊列
tc qdisc add dev eth1 root handle 10: htb default 256
#生成根類
tc class add dev eth1 parent 10: classid 10:1 htb rate 100mbit ceil 100mbit
#支類列表用於限制速度
#這里的rate指的是保證帶寬,ceil是最大帶寬。
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 400kbps ceil 400kbps prio 1

#添加支類規則隊列
#採用sfq偽隨機隊列,並且10秒重置一次散列函數。
tc qdisc add dev eth1 parent 10:10 handle 101: sfq perturb 10

#建立網路包過濾器,設置fw。
tc filter add dev eth1 parent 10: protocol ip prio 10 handle 1 fw classid 10:10
#在iptables裡面設定mark值,與上面的handle值對應。
iptables -t mangle -A POSTROUTING -d 172.16.44.130 -j MARK --set-mark 1

通過上面的代碼就可以限制172.16.44.130這台機子的下載速度到400kbps。
Tip
經過實際測試這里的kbps實際上就是KB/S每秒千位元組。另一個單位是kbit,這個才是每秒千比特。這里的172.16.44.130也可以寫成一個網段,比如:172.16.44.0/24
上傳限速
上傳限速的原理其實跟下載的差不多,只不過限制的網卡不同,要在eth0上過濾來源地址去限制。
#刪除原來的tc規則隊列
tc qdisc del dev eth0 root

#添加tc規則隊列
tc qdisc add dev eth0 root handle 20: htb default 256

#生成根類
tc class add dev eth0 parent 20: classid 20:1 htb rate 100mbit ceil 100mbit

#支類列表用於限制速度
tc class add dev eth0 parent 20:1 classid 20:10 htb rate 40kbps ceil 40kbps prio 1

#添加支類規則隊列
tc qdisc add dev eth0 parent 20:10 handle 201: sfq perturb 10

#建立網路包過濾器
tc filter add dev eth0 parent 20: protocol ip prio 100 handle 2 fw classid 20:10
iptables -t mangle -A PREROUTING -s 172.16.44.130 -j MARK --set-mark 2

Tip
跟下載不同的是POSTROUTING要改成PREROUTING,-d改成-s。
觀察連接數
通過iptables的nat連接可以通過下面的代碼查看。至於統計連接數可以寫代碼實現,也可以利用awk,grep等工具。反正裡面的內容就是文本,處理起來也比較簡單。
cat /proc/net/ip_conntrack

寫在結尾
到此上網、埠轉發和流量限制都已經實現。下次再考慮配置個dhcp server和dnsmasq。至於一些路由器其它諸如mac地址綁定,限制上網等用到的時候再去研究研究。

❷ 請教linux中isc-dhcp-server服務啟動失敗的問題

出現問題的可能有以下幾個可能: 1. 配置文件有問題。 1.1 內容不符合語法結構,例如,少個分號; 1.2 聲明的子網和子網掩碼不符合; 2. 主機IP地址和聲明的子網不在同一網段。 3. 主機沒有配置IP地

❸ VMware下Linux虛擬機nat方式上網問題,為什麼虛擬網卡vmnet8顯示無法訪問,我是按照步驟配置的

虛拿攔擬網卡是無法連接的你可碧敏游以右鍵選擇電腦-管理進入設備管理器,右鍵選擇主機名,

然後選擇添加過時硬體,從裡面添加回環網卡,然悔銷後在vmware設置里編輯網卡

❹ 區域網Pxe 做系統方法及教程求助

今天我給大家帶來的是如何在不同區域網的客戶機(client)也能實現系統的自動安裝,大家可以來學習下。 一、原理篇 1.先實現全網的互通即能ping通,這樣是實現跨區域網實現自動安裝系統的基礎。 2.在192.168.2.0/24這個區域網中搭建一個dhcp server,之所以在客戶端所在的區域網中搭建dhcp server,是因為通過dhcp server可以自動獲取ip地址而且還可以指定路由以及指定tftp server。指定路由相當於默認網關這樣client就可以和PXE server通信,指定tftp server客戶端可以通過tftp協議下載pxelinux.0文件以及內核啟動文件等。通過text.cfg文件知道ks.cfg文件的位置,下載並按照ks.cfg文件的步驟安裝系統。由ks.cfg文件就知道系統安裝文件在192.168.0.105的/var/www/ubuntu目錄中,請求安裝文件安裝之。 二、實戰篇 1.實現全網互通 把PXE Server的網關指向192.168.0.111,dhcp server 的網關指向192.168.2.1 在192.168.0.111主機上做路由:#route add default gw 192.168.1.1 在192.168.2.1主機上做路由: #route add default gw 192.168.1.2 在客戶端dhcp server 上測一下聯通性:(當然ping最簡單) 這樣全網就互通了。 2.客戶端dhcp server的設置: #vim /etc/dhcp3/dhcpd.conf subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.200; option domain-name "192.168.2.2"; option domain-name-servers 192.168.2.2; option routers 192.168.2.1; #這是指定客戶端網關為:192.168.2.1 default-lease-time 600; max-lease-time 7200; next-server 192.168.0.105; #這里指定tftp server 為192.168.0.105 filename "pxelinux.0"; } 對於客戶端來說dhcp server的設置是非常重要的,當然也可以用dhcp 中繼、路由這里就不介紹了。 三、測試安裝 client 分配的ip是:192.168.2.101 ,網關:192.168.2.1 tftp server :192.168.0.105 這樣設置完之後跨區域網自動安裝系統就已經完成了。雖說步驟不多,但還是需要用戶們認真按步驟執行,才能牢記此方法哦。

❺ Linux下如何安裝DHCP服務和使用

DHCP基於客戶/伺服器模式。當DHCP客戶端啟動時,它會自動與DHCP伺服器通信,由DHCP伺服器為DHCP客戶端供給自動分配IP地址的服務。
當然高等的DHCP,不光只是分配地址這么簡單,今天我們的課程只是架設一個普通的DHCP的伺服器, client端能獲取到上網必須的網路配置信息
安裝了DHCP服務軟體的伺服器稱為DHCP伺服器,而啟用了DHCP功效的客戶機稱為DHCP客戶端,DHCP伺服器是以地址租約的方法為DHCP客戶端供給服務的,它有以下兩種方法:
限定租期 和 永久租用
學DHCP伺服器,就一定要知道DHCP伺服器的工作原理:
DHCPDISCOVER(DHCP發明)
DHCPOFFER(DHCP供給)
DHCPREQUEST(DHCP請求)
DHCPACK(DHCP確認)
這個4個步驟,是client獲取IP地址必經的步驟
DHCP供給的時候,伺服器已經給client分配了IP地址,第二部分分給client的IP地址是臨時的,client得到這個IP地址後,會發出DHCP請求,請求租用這個地址,伺服器收到請求後,就會正式把這個地址分配給client,繼而向client發送DHCP確認。
這個四步主要是應對同一網路多個DHCP伺服器
後台過程:dhcpd
腳本:/etc/rc.d/init.d/dhcpd
使用埠:67
所需RPM包:dhcp
相關RPM包:
dhcp-devel-3.0.5-7.el5.i386.rpm
dhcpv6-0.10-33.el5.i386.rpm
dhcpv6_client-0.10-33.el5.i386.rpm
配置文件:/etc/dhcpd.conf
日誌:/var/log/xferlog
再提示一點吧,網路啟動方法也叫bootpc,這樣獲取的IP地址是不會受伺服器的租期111ttt.com的,它永遠有效
好了,我們先安裝DHCP伺服器
一、下載或從光碟上找到DHCP服務安裝包。
二、安裝(dhcp*代表其安裝包名稱):
# rpm -ivh dhcp*
三、配置DHCP文件:
復制/usr/share/doc/dhcp*/dhcpd.conf.sample 到/etc目錄下,更名為:dhcpd.conf
# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf
當然,也可以先vi /etc/dhcpd.conf,然後在末行模式運行以下命令:
r /usr/share/doc/dhcp*/dhcpd.conf.sample
這樣這個dhcpd.conf.sample文件的內容就導進來了。
打開dhcpd.conf,要修改的幾個地方:
subnet 後面接的是你所定義的網段,要與本機的IP地址同網段,
每一語句以分號「;」結尾,不要忘記。
例如:我的IP是「192.168.2.11」,下面是我的配置文件:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.2.1;
option time-offset -18000;
range dynamic-bootp 192.168.2.100 192.168.2.254
default-lease-time 21600;
max-lease-time 43200;
filename "/pxelinux.0";
next-server 192.168.2.11;
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
四、詳細註解:
ddns-update-style interim; #定義所支持的DNS動態更新類型(必選),一般我們設置成關閉,
#interim和none都是關閉的意思
allow/ignore client-updates; #允許/疏忽客戶機更新DNS記載
allow/deny unknown-clients; #是否動態分配IP給未知的使用者
allow/deny bootp; #是否響應激活查詢
allow/deny booting; #是否響應使用者查詢
subnet 192.168.2.0 netmask 255.255.255.0 { #設置子網聲明
# --- default gateway
option routers 192.168.2.1; #設置預設網關為192.168.2.1
option subnet-mask 255.255.255.0; #設置客戶端的子網掩碼
option nis-domain "domain.org"; #為客戶設置NIS域
option domain-name "domain.org"; #為客戶設置域名
option domain-name-servers 192.168.2.1; #為客戶設置域名伺服器
option time-offset -18000; # Eastern Standard Time #為客戶端指定格林威治時間偏移時間,單位秒,
# 該選項可以在全局配置、局部配置均可使用
# option ntp-servers 192.168.2.1; #NTP是時間伺服器
# option netbios-name-servers 192.168.2.1; 設置wins伺服器
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2; #設置netbios節點類型 我不清楚這個netbios節點是什麼東西
range dynamic-bootp 192.168.2.28 192.168.2.254; #設置動態的地址池
default-lease-time 21600; #設置預設的地址租期
max-lease-time 43200; #設置客戶端最長的地址租期
# we want the nameserver to appear at a fixed address
filename "/pxelinux.0"; #開始啟動文件的名稱,應用於無盤安裝,可以是tftp的相對或絕對路徑
next-server 192.168.2.11; #This is the name of the server they should get it from
#tftp伺服器,可以和dhcp伺服器不在同一機器上,一般是PXE網路使用此參數
#設置主機聲明
host ns {
next-server marvin.redhat.com; #設置由於定義伺服器從引導文件中裝入的主機名,用於無盤站
hardware ethernet 12:34:56:78:AB:CD; #指定dhcp客戶的mac地址
fixed-address 207.175.42.254; #給指定的mac地址分配ip
}
}
五、配置好dhcpd.conf文件後就可以啟動dhcp服務了:
# service dhcpd restart
這時可以用「netstat -nlutp」命令查看dhcp服務是否有啟動。
六、其它相關文件:
1、這個文件/var/lib/dhcpd/dhcpd.leases,可以看到被租出去的IP地址和相關信息。
2、這個文件/etc/sysconfig/dhcpd是指定DHCP伺服器111ttt.com的網卡,如果只有一個網卡,一般不用設置
DHCPDARGS=eth0 或者是eth1 ,如果全部111ttt.com就不用管。
3、這個文件/etc/sysconfig/dhcrelay就是設置DHCP中繼的文件,大家打開瞧一下吧。
interfaces 就是來自這個埠的dhcpdiscover(請求)都會轉發到後面的DHCPSERVERS伺服器。
設置了DHCP中繼,需要啟動中繼服務:service dhcrelay start
七、在linux客戶機下面,你可以手動配置你的dhcp:
觀察你的網路配置文件,如果你沒有設置為自動啟動聯網,則要修改你的網路配置文件。
# vi /etc/sysconfig/network
添加「NETWORKING=yes」(讓引導的時候啟動聯網)
或者使用
# @echo 「NETWORKING=yes」> /etc/sysconfig/network
然後再修改你的網卡配置文件
/etc/sysconfig/network-scriptes/ifcfg-eth0 文件應該包括這幾行:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

❻ 如何在Debian Linux上安裝配置ISC DHCP伺服器

工具/原料

一台Linux主機或虛擬機(這里CentOS 6.5為例)
編譯源碼或軟體源方式安裝dhcp軟體
方法/步驟

首先我們先了解下 DHCP,DHCP採用客戶端/伺服器的工作模式,由客戶端向伺服器發出獲取IP地址的請求,伺服器接收到請求後會把網路配置信息發送給客戶端,實現IP地址的動態分配。DHCP提供三種地址分配策略:
1:手工分配 在伺服器上指定為哪些主機分配固定的IP,也就是說這些主機永遠獲取的都是給它們設置好的IP。
2:自動分配 地址分配給客戶機後,這個地址就永遠給了客戶機。這樣客戶機不在線也不會回收IP,會造成浪費,不同於手工分配。
3:動態分配 也是用的最多的策略了,它將IP地址分配出去後會有個租約,等租約時間到了,就會回收IP,如果主機還在線,在租約時間快到時,會向DHCP伺服器發送續約請求,以便繼續使用。
以上手工分配適合於列印機、其他提供web服務、ftp服務的主機等,因為它們需要一個固定的IP地址。動態分配能有效解決IP地址不夠用的問題,租約到期後被回收的IP地址會重新給新請求的客戶端使用。
DHCP的安裝可以通過從軟體源直接安裝或自己編譯安裝。編譯安裝的話下載地址在:https://www.isc.org/downloads/
這里選擇編譯安裝DHCP,下圖為DHCP源碼包的官方下載頁面,我們選擇最新版dhcp-4.3.1.tar.gz

首先我們先解壓源碼包
# tar xf dhcp-4.3.1.tar.gz
指定安裝目錄和配置文件目錄
# cd dhcp-4.3.1
# ./configure --prefix=/usr/local/dhcp --sysconfdir=/etc
配置過程非常快,等配置完了可以echo $?確定下是否成功
接著就可以編譯安裝了,請耐心等待編譯完成
# make && make install
如果採用軟體源安裝的話直接 " yum install dhcp "即可,不過版本會比較舊

接著將配置文件復制過去,在安裝目錄的 server 目錄中
# cp server/dhcpd.conf.example /etc/dhcpd.conf
生產地址池文件,用於記錄已經分配出去的IP地址
# touch /var/db/dhcpd.leases
接著修改配置文件,在最後添加提供服務的網段
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
}
我這里為10.0.0.0網段提供服務,range定義了地址池,記得修改成適合你們的,然後就可以試著啟動服務了。
# /usr/local/dhcp/sbin/dhcpd
如果是以軟體源方式安裝的dhcp軟體,直接 service dhcpd start
我們可以用" killall dhcpd "來結束服務

服務啟動後可以用 " ps aux | grep dhcpd "查看下啟動的進程,DHCP服務監聽 udp 67 埠,客戶端以廣播的方式請求IP地址,整個區域網內,沒開啟DHCP服務的主機就忽視掉了請求,DHCP伺服器就會響應這個請求,如果同時有多個DHCP伺服器在工作肯定看哪個響應的快嘍!
接下來再啟動台主機試試效果把,我又啟動了一台XP,讓其自動獲取IP地址,看 是不是獲取了地址池中第一個IP "10.0.0.50"呢

接下來看下dhcpd的配置文件 " /etc/dhcpd.conf "
dhcpd.conf中由聲明、注釋、參數、選項四大類語句構成
注釋就是"#"開頭的注釋信息。聲明定義網路布局,剛才的subnet就屬於聲明。參數是定義dhcpd服務的各種網路參數,如租約的時間、主機名等。選項是以option作為開始,為客戶機指定主機名、廣播地址、子網掩碼等
聲明:
include "filename" 將指定的文件內容添加到配置文件中
shared-network 名稱 {
【參數】
【聲明】
} 指定共享相同網路的子網
subnet 網段 netmask 子網掩碼 {
【參數】
【聲明】
} 定義哪些IP分配給客戶,一般與range結合使用
range 起始地址 終止地址; 定義IP范圍,終止地址可以沒有
host 主機名 {
【參數】
【聲明】
} 定義保留地址
group {
【參數】
【聲明】
} 為一組參數提供聲明
參數:
ddns-hostname 名稱 指定使用的主機名,不設置默認當前主機名
ddns-domainname 名稱 指定域名
ddns-update-style 參數 指定DNS的更新模式 { ad-hoc | interim | none }
default-lease-time 時間 默認租約時間(單位秒)
max-lease-time 時間 最大租約時間
server-name 名稱 告訴客戶端伺服器的名稱
hardware 介面類型 硬體地址 指定客戶機硬體介面類型和mac地址
fixed-address IP地址 【,IP地址】 為客戶端提供一個或多個IP地址,該參數只能出現在host聲明中
選項: 前面需加option
broadcast-address 廣播地址 指定客戶端廣播地址
domain-name 域名 指定客戶端域名
domain-name-servers 地址 指定客戶端的DNS伺服器
host-name 主機名 指定客戶端主機名
ntp-server 地址 指定時間伺服器地址
routers 地址 指定默認網關IP
subnet-mask 子網掩碼 指定客戶端子網掩碼
比如我們為10.0.0.0網段提供服務,DNS伺服器為8.8.8.8,網關為10.0.0.254,子網掩碼為255.0.0.0,默認租約時間6小時.
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
option subnet-mask 255.0.0.0;
option routers 10.0.0.254;
option domain-name-servers 8.8.8.8;
default-lease-time 21600;
}
看看是不是網關和DNS也被自動獲取了呢。注意都要以分號結束哦

現在再試試為其配置指定的IP地址,我們先把要指定主機的網卡mac地址記下來,然後給他配置10.10.10.10這個IP
subnet 10.0.0.0 netmask 255.0.0.0
{
range 10.0.0.50 10.0.0.100;
option subnet-mask 255.0.0.0;
option routers 10.0.0.254;
option domain-name-servers 8.8.8.8;
server-name mydhcp;
default-lease-time 21600;
host winXP {
hardware ethernet 00:0C:29:6E:4B:A1;
fixed-address 10.10.10.10;
}
}
這回使用了 ipconfig -all 顯示的更詳細了,這里連伺服器的地址也列出來了,也可以使用這個參數查看網卡的mac地址

11
演示用的是Windows主機,如果是Linux主機需要修改網卡的配置文件,設置"BOOTPROTO=dhcp",然後可以通過 dhclient eth0 來給eth0這塊網卡獲取IP地址。

閱讀全文

與linuxdhcpserver相關的資料

熱點內容
機械手動作梯形圖編程 瀏覽:10
編程p1c 瀏覽:609
黑龍江日報伺服器ip地址 瀏覽:541
安卓光遇圖標長什麼樣 瀏覽:455
安卓手機如何打開oa文件 瀏覽:970
新能源電動壓縮機過熱保護 瀏覽:578
程序員下海區塊鏈 瀏覽:334
g68編程入門教程 瀏覽:286
程序設計與案例教程pdf 瀏覽:892
小碼王少兒編程價格 瀏覽:634
次元網盤怎麼解壓 瀏覽:181
安卓手機怎麼鎖屏下亮屏 瀏覽:92
單片機定時器模塊 瀏覽:266
py編譯安卓 瀏覽:941
iPhone怎麼關掉app跟蹤 瀏覽:359
linux中的ping命令 瀏覽:229
c語言游戲編程教程 瀏覽:1000
數控銑床編程圖紙 瀏覽:823
口頭指派或命令 瀏覽:893
壓縮機經常碰有沒有毒 瀏覽:98