將Centons伺服器變成路由器
最近專案需要測試音視訊弱網傳輸,使用linux 核心TC命令進行網路限制(丟包、亂序、延時、重複幀、包損)。
Linux作業系統中的流量控制器TC(Traffic Control)用於Linux核心的流量控制,主要是通過在輸出埠處建立一個佇列來實現流量控制。
下面主要記錄一下使用指令碼進行環境搭建:
1、先給伺服器配置雙網路卡並配置好IP地址(這一步很重要,後續步驟都需要使用配置的ip地址),並修改改網路卡名稱:Wan口為eth0,Lan口為eth1
1、先安裝DHCP服務,yum -y install dhcp
2、配置DHCP服務:
vi /etc/dhcp/dhcp.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.10.253; #地址池範圍
option broadcast-address 192.168.1.255; #廣播地址
option routers 192.168.1.100; #預設閘道器(一定要配置成Lan口IP)
option domain-name-servers 114.114.114.114, 8.8.8.8; #運營商DNS伺服器
option netbios-name-servers 192.168.1.1; #WINS伺服器
option domain-name lan; #搜尋域
default-lease-time 86400; #預設租約時間,單位為秒
max-lease-time 86400; #最長租約時間,單位為秒
}
3、其餘步驟使用下面sh指令碼進行自動配置
#!/bin/bash
echo "使用前需要先配置電腦Wan口和Lan口的IP,主要Lan口的IP配置,同時修改配置檔案的IP地址"
#echo 停止firewalld服務
systemctl stop firewalld
#echo 禁止firewalld服務自啟動
systemctl disable firewalld
#echo 安裝iptables防火牆和DHCP伺服器
yum -y install iptables-services
iptables -F
#echo 清空nat表
iptables -t nat -F
#echo 預設禁止所有傳入連線修改為接收
iptables -P INPUT ACCEPT
#echo 預設允許所有傳出連線
iptables -P OUTPUT ACCEPT
#echo 預設允許路由轉發(特別注意!!!)
iptables -P FORWARD ACCEPT
#echo 4、開啟系統的IP轉發功能,永久性的
sed -i '$a net.ipv4.ip_forward = 1' /etc/sysctl.conf
#echo 立即更改生效:
sysctl -p /etc/sysctl.conf
#echo 允許DHCP傳入連線,指定Lan口的ip有DHCP服務自動分配
iptables -A INPUT -i eth1 -p udp --dport 67:68 -j ACCEPT
#echo 配置iptables的NAT轉發(重點)意思:接收Lan口指定網段的所有資料
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
#echo 開啟源NAT功能即將來自內網主機的IP轉換為外網IP,將Lan口接收到資料轉發到Wan口
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 192.168.2.100
echo "==========================配置完成了================================"
#echo 儲存iptables配置
iptables-save > /etc/sysconfig/iptables
#echo 啟動iptables
systemctl start iptables
#echo 開機自動啟動iptables
systemctl enable iptables
#echo 啟動dhcpd
systemctl start dhcpd
#echo 開機自動啟動dhcpd
systemctl enable dhcpd
!:配置中的ip需要根據網路實際配置進行修改,否則會失敗!
4、配置完成後測試,如果在伺服器Lan連線任意裝置可以上網說明配置成功。
相關文章
- 將你的 CentOS 變成 OSPF 路由器CentOS路由器
- 將樹莓派配置成路由器樹莓派路由器
- Python中如何將字串變成數字?Python字串
- 將Linux做成路由器Linux路由器
- inRiver報告:將訪客變成買家
- 使用Map將資料變成自己想要的
- 物聯網將變成一種服務
- PHP-將變數輸出成 array 結構PHP變數
- 伺服器路由器的作用伺服器路由器
- Stata-將變數名稱替換成標籤變數
- 將Win10電腦變成藍芽音響Win10藍芽
- RPA與AI的融合,將會變成什麼樣?AI
- 無伺服器Serverless將變革工作流BPM伺服器Server
- 如何將人工智慧的“炒作熱”真正變成“落地熱”?人工智慧
- 在Python中將字典轉為成員變數的方法Python變數
- 美媒:黑客能將揚聲器變成聲學武器黑客
- 東北公司使用新套件將幾周變成幾天套件
- 程式設計師如何將一天變成28小時程式設計師
- 一起來將vscode變成私人定製筆記本VSCode筆記
- 將UIView轉成UIImage,將UIImage轉成PNG/JPGUIView
- 一學生將海洋入侵物種變成3D列印材料3D
- jmeter使用問題——將介面返回變數儲存成csv檔案JMeter變數
- 將Spring Boot應用變成GraalVM本機映象快速執行 - codecentricSpring BootLVM
- 如何將過程程式碼變成物件導向的程式碼? - WLODEK物件
- 如何使用精益創業將創意變成成功產品 - Bouza創業
- html2canvas:將html的dom變成圖片,並儲存HTMLCanvas
- 【刷力扣】1342. 將數字變成 0 的操作次數力扣
- Gartner:人工智慧將把部分專業工作變成公用事業人工智慧
- Python如何將數字變成帶逗號的千分位Python
- 家用路由器也能充當Web伺服器?路由器外掛開發心得路由器Web伺服器
- 成員變數變數
- 使用 Lakka Linux 將你的舊 PC 變成復古遊戲主機Linux遊戲
- 力扣 1342. 將數字變成 0 的操作次數 C++力扣C++
- 假如騰訊阿里消失了,這個社會將變成什麼樣?阿里
- [譯]20 年後比特幣將會變成什麼樣-第 3 部分比特幣
- 進一步向左轉移安全性:DevSecOps是否將變成SecDevOps?dev
- NodeJS:將資料夾按照存放路徑變成一個對應的JSONNodeJSJSON
- 七行JSON程式碼將你的網站變成移動應用JSON網站