将Centons服务器变成路由器

最近项目需要测试音视频弱网传输,使用linux 内核TC命令进行网络限制(丢包、乱序、延时、重复帧、包损)。
Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制。
下面主要记录一下使用脚本进行环境搭建:
1、先给服务器配置双网卡并配置好IP地址(这一步很重要,后续步骤都需要使用配置的ip地址),并修改改网卡名称:Wan口为eth0,Lan口为eth1
将Centons服务器变成路由器_第1张图片
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连接任意设备可以上网说明配置成功。

你可能感兴趣的:(linux基础)