
/etc/init.d/networkrestart
同样也可以用service这个命令来 *** 作网络服务例如:
service network restart
2、(NetworManager)是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。网络管理器可以优先选择有线网络,支持 VPN。网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理。
一、安装的前提条件确保安装了网卡并工作正常使用命令#ifconfig eth0查看网卡状态2.在系统中不要设置默认路由(网关),让ADSL拨号后自动获得如果已经设置了默认路由,使用以下方法删除:在文件 /etc/sysconfig/network 中删除 GATEWAY= 这一行,然后以root执行:#/etc/rc.d/init.d/network restart 3.已经安装了pppd软件包如果存在文件 /usr/sbin/pppd,则说明已经安装了pppd;如未安装,从RedHatLinux 安装光盘上装ppp-2.3.11-4.i386.rpm(版本可能不一样)这个软件包
二、安装PPPOE客户端软件
Linux下的PPPOE客户端软件比较多,而且大多使用GNU License,推荐使用rp-pppoe这个软件包,从http://www.roaringpenguin.com/pppoe/这个网站上,不仅可以下栽RedHat 平台下的rp-pppoe的二进制软件包,而且可以下栽源代码软件包。二进制软件包的安装:
A.下栽二进制软件包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5-1.i386.rpm
B.进行安装以root执行:#rpm -Uvh rp-pppoe-3.5-1.i386.rpm 2.从源代码进行安装:从源代码进行安装同样适用于其它平台的Linux,但必须在Linux系统中安装gcc编译器。
A.下栽源代码软件包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz
B.解压缩#tar xvfz rp-pppoe-3.5.tar.gz #cd rp-pppoe-3.5 C.进行编译和安装运行脚本#./go将自动进行编译和安装,最后,自动调用/usr/sbin/adsl-setup进行配置,具体解释见三。
三、配置PPPOE客户端软件
安装完软件包后,必须配置pppoe的配置文件/etc/ppp/pppoe.conf,从而让ADSL拨号时使用配置文件中的用户名、密码等参数。我们不必手工改动这个文件,可以使用adsl-setup这个工具进行配置:#/usr/sbin/adsl-setup当出现
>>>Enter your PPPoE user name :
输入ADSL帐号的用户名当出现
>>>Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0. For Linux, it will be ethn, where n is a number.(default eth0):输入 eth0 ,这是ADSL相连的网卡的名字当出现
>>>Enter the demand value (default no):
输入 no当出现
>>>Enter the DNS information here:
输入 “server” ,这表示使用ADSL拨号自动获得的DNS服务器IP地址当出现
>>>Please enter your PPPoE password:
输入ADSL帐号的密码当出现
>>>Choose a type of firewall (0-2):
输入 0 ,不使用防火墙当出现
>>>Accept these settings and adjust configuration files (y/n)?
如果输入的信息正ā确,输入 y ,完成配置,否则,输入 n 重新输入。
四、启动PPPOE客户端软件
使用命令/usr/sbin/adsl-start 启动PPPOE客户端软件,进行连接,如果成功,将出现Connected;如果不成功,请检查网线、ADSL MODEM等物理设备,并查看 /var/log/messages中的信息/usr/sbin/adsl-stop 关闭和ISP的连接/usr/sbin/adsl-status 查看当前连接的状态如果想在Linux系统启动时自动启动ADSL连接,输入以下命令#chkconfig –add adsl将在当前的运行级下加入ADSL的自启动脚本。
五、测试
当连接成功后,使用命令#ifconfig -a在输出中应含有关于 ppp0 的信息,其中还绑定了IP 地址,说明已经从拨号中获得了IP地址。
使用命令#netstat -nr查看路由表信息,这时的默认路由应该是上面获得的IP地址。
如果没有默认路由,我们可以手动增加:#route add default gw 上面获得的IP地址使用命令#nslookup www.sina.com.cn如果解析出新浪的IP,说明已经从拨号中正确获得了DNS服务器最后,使用命令ping某个域名或IP,如果有响应,表示你已经大功告成了。
注:好像在进行配置的过程中,会提示你是否在启动时加载ADSL,选yes,这样就会省的登录后再start了。
六、使用双网卡带动公司网、家庭网络上网
硬件要求:同上双网卡
NAT方式:接内部网络的网卡设置IP为私有地址(192.168.0.0/24、172.16.0.0/16、10.0.0.0/8),
例如192.168.100.123/24.不要设置默认路由(网关),DNS设置为广州地区(61.144.56.100),其它
地区的相应改动为本地区的DNS. 在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewall以改变文件属性,编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以确保开机时能自动运行该脚本。
firewall内容为:#!/bin/sh echo “Enable IP Forwarding…”
echo “1〃>/proc/sys/net/ipv4/ip_forward echo ”Starting iptables rules…“
/sbin/modprobe iptable_filter /sbin/modprobe ip_tables /sbin/modprobe iptable_nat #Refresh all chains /sbin/iptables -F -t nat iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MMASQUERADE客户端设置(windows98/2000/xp、linux)网关设置为这台linux地址(192.168.100.123),DNS设置为61.144.56.100.
透明代理配置代理软件squid:
编辑/usr/local/squid/etc/squid.conf,修改以下内容,确保以下配置:
http_port 192.168.100.123:8080
cache_mem 48 MB acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemakāer acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl flag src 192.168.100.0/255.255.255.0
httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on cache_effective_user nobody cache_effective_group nobody http_access allow flag
http_access deny all
(限制只允许局域网用户使用代理,具体可以参考squid手册中关于Access Control Lists的内容来限制访问代理)
cache_dir ufs /var/spool/squid 100 16 256
cache_dir type Directory-Name Mbytes Level-1 Level2
(说明:指定squid用来存储对象的交换空间的大小及其目录结构。可以用多个cache_dir命令来定义多个这样的交换空间,并且这些交换空间可以分布不同的磁盘分区。“directory ”指明了该交换空间的顶级目录。如果你想用整个磁盘来作为交换空间,那么你可以将该目录作为装载点将整个磁盘mount上去。缺省值为/var/spool /squid.“Mbytes”定义了可用的空间总量。需要注意的是,squid进程必须拥有对该目录的读写权力。“Level-1〃是可以在该顶级目录下建立的第一级子目录的数目,缺省值为16.同理,”Level-2〃是可以建立的第二级子目录的数目,缺省值为256.为什么要定义这么多子目录呢?这是因为如果子目录太少,则存储在一个子目录下的文件数目将大大增加,这也会导致系统寻找某一个文件的时间大大增加,从而使系统的整体性能急剧降低。所以,为了减少每个目录下的文件数量,我们必须增加所使用的目录的数量。如果仅仅使用一级子目录则顶级目录下的子目录数目太大了,所以我们使用两级子目录结构。那么,怎么来确定你的系统所需要的子目录数目呢?我们可以用下面的公式来估算。
已知量:
DS = 可用交换空间总量(单位KB)/ 交换空间数目
OS = 平均每个对象的大小= 20k
NO = 平均每个二级子目录所存储的对象数目 = 256
未知量:
L1 = 一级子目录的数量
L2 = 二级子目录的数量
计算公式:
L1 x L2 = DS / OS / NO
(注意这是个不定方程,可以有多个解)
acl allow_domain dstdomain “/etc/squid/allow_domain”
创建cache目录
[root@proxy squid]# squid -z
修改该目录所有者squid:
[root@proxy squid]# chown squid:squid /usr/spool/squid
最后启动squid:
[root@iptable logs]# /usr/local/squid/bin/RunCache &
并且系统中应该有如下几个端口被监听:
[root@proxy logs]# netstat -ln tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:3130 0.0.0.0:*
这些说明squid已经正常启动了。
然后使用Redhat的serviceconf工具以使得系统启动时自动启动squid服务器。
iptables的设置
在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewll以更改文件属性,
编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以确保开机时能自动执行该脚本。
firewall文件内容为:
#!/bin/sh
echo “Enabling IP Forwarding…”
echo 1 >/proc/sys/net/ipv4/ip_forward
echo “Starting iptables rules…ā”
#Refresh all chains
/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp–dport 80 -j REDIRECT –to-ports 8080
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 — -j MMASQUERADE七、在含有多个vlan的三层交换网络中实现squid+iptables的透明代理在企业中网络常常会有三层交换。它能够有效隔离广播,防止广播风暴。通过三层交换机划分vlan,使得应用和管理都变得相对容易些。但也给代理的设置带来一点小麻烦,传统代理要设置代理
服务器地址和端口,这对三层交换网络没有什么问题。关键是透明代理中网关的设置,在三层交换的网络中
每个vlan的计算机的网关都要设置成所在vlan的网关,如:下表中vlan1的网关必须是192.168.100.1,vlan2的
网关必须是192.168.110.1,像普通网络中把网关都设置成代理服务器的地址是绝对不行的。所以,三层交换
网络中透明代理的设置主要问题集中在三层中心交换机和代理服务器路由的设置,三层交换机的路由表中要有
一条默认路由指向代理服务器,服务器的路由表中要有一个容纳所有vlan的网关。
以下是我的网络说明:网络内网有15个vlan如路由表所示,代理服务器(squid+iptables)在vlan1中服务器有两块网卡,eth0连接外
网ip是A.B.C.D,网关为A.B.C.1.eth1连接内网ip是192.168.100.123/24不设网关。给服务器加上一条路由,
将192.168.0.0/16,指向vlan1的网关192.168.100.1,route add -net 192.168.0.0 netmask 255.255.0.0 eth1以
保证与其他vlan的通信,如此网络部分便配置成功,关于透明代理设置这里就不说了,请参考其他文章。这样所
有的vlan的计算机只要网关和dns配置好就可以上网了,如:vlan3中某台计算机ip设置192.168.120.47,网关
为192.168.120.1,dns地址为服务商给的(广州地区ADSL:61.144.56.100),这样就OK了。其出网的路由
为->192.168.120.47->192.168.120.1->192.168.100.1->192.168.100.123->A.B.C.1->……。
<div style="font-weight: 400"> <span></span> <h1>个人博客:<a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.mianshi.host" target="_blank" rel="nofollow">点击这里进入</a></h1> <span></span> <h3>一.故障现象</h3> <blockquote> <p>RHEL7.6系统,使用nmcli绑定双网卡后,再使用以下命令重启network服务后主机网络异常,导致无法通过ssh远程登录系统。</p> </blockquote> <p> <code># systemctl restart network</code></p><span></span> <h3>二.理论知识</h3> <blockquote> <p>Network service的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分 *** 作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来 *** 作网络服务。例如: <code># /etc/init.d/network restart</code> 同样也可以用service这个命令来 *** 作网络服务例如: <code># service network restart</code> <code># systemctl restart network</code>(NetworManager)是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。网络管理器可以优先选择有线网络,支持 VPN。网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理</p> </blockquote><span></span> <h3>三.环境分析</h3> <blockquote> <p>系统版本:Red Hat Enterprise Linux Server release 7.6 内核版本:3.10.0-957.el7.x86_64 硬件类型:Huawei 2288H V5 首先检查系统网络配置,该系统配置两块bonding设备,分别是: bond0:业务网络 bond1: Oracle RAC心跳网络 分析系统日志,当重启network服务时(systemctl restart network),系统messages日志中无明显异常,测试发现,当停止NetworkManager服务后,问题现象消失,即执行如下 *** 作:</p> </blockquote> <p> <code># systemctl stop NetworkManager</code></p> <blockquote> <p>此时再次重启network服务:</p> </blockquote> <p> <code># systemctl restart network</code></p> <blockquote> <p>可以很快ping通bond0的业务地址10.116.6.194。 进一步分析发现,如果不停止NetworkManager服务,而是修改网卡配置文件,在bonding网卡和组成bonding的slave网卡的配置文件中增加一行配置,也可以解决该问题。</p> </blockquote> <p> <code>NM_CONTROLLED=no</code></p> <blockquote> <p>参考红帽RHEL7配置网卡bonding的官方文档: <a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Faccess.redhat.com%2Fdocumentation%2Fen-us%2Fred_hat_enterprise_linux%2F7%2Fhtml%2Fnetworking_guide%2Fsec-network_bonding_using_the_command_line_interface" target="_blank" rel="nofollow">https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-network_bonding_using_the_command_line_interface</a> 可以看到,官方文档的配置示例中设置了NM_CONTROLLED=”no”: <img src="https://upload-images.jianshu.io/upload_images/24736011-d9a54d4b359b41d0.png" alt=""> <img src="https://upload-images.jianshu.io/upload_images/24736011-466df81c683a5113.png" alt=""></p> </blockquote><span></span> <h3>四.原厂问题建议</h3> <blockquote> <p>该问题是由于NetworkManager服务引起,可以通过如下两种方法解决:</p> </blockquote> <ul> <li>在网卡配置文件中增加参数NM_CONTROLLED=no(“no”的引号可以不写),设置后重启network服务生效。设置NM_CONTROLLED=no的目的是将网络设备脱离NetworkManager服务的管理,设置后该网络设备仅由network服务管理,不受NetworkManager服务控制,因而nmcli命令对该网络设备不再生效;</li> <li>停止并禁用NetworkManager服务,停用后所有网络设备由network服务管理,不能通过nmcli命令来管理网络设备:</li> </ul> <p> <code># systemctl stop NetworkManager</code> <code># systemctl disable NetworkManager</code></p><span></span> <h3>五.解决方案</h3> <blockquote> <p>据上所述,可关闭NetworkManager服务或在BOND配置文件中添加参数,但因环境需要,需使用nmcli命令,故无法关闭NetworkManager,在多轮测试中进行思考,既然NetManager与network服务冲突,但nmcli命令属于NetworkManager,systemctl一般用来管理network,考虑两者管理命令可能也存在冲突后进行了一波测试,使用NetworkManager的nmcli进行网卡的重启 *** 作,使用以下命令后,网络可以即刻ping通并通过SSH连接</p> </blockquote> <p> <code># nmcli connection down 网口名称</code> <code># nmcli connection up 网口名称</code></p><span></span> <h3>六.结论</h3> <blockquote> <p>因NetworkManager与network服务存在冲突,且双网卡绑定时所使用的的nmcli进行绑定,nmcli归属于NetworkManager,故重启网卡时应用nmcli命令up/down,不应使用systemctl进行网卡重启</p> </blockquote>欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)