linux网络相关配置文件
linux系统一般来说分为两大类:1、RedHat系列:Redhat、Centos、Fedora等;2、Debian系列:Debian、Ubuntu等。
linux系统中,TCP/IP网络是通过若干个文本文件来进行配置的,需要配置这些文件来联网,下面对linux两大类系统中基本的TCP/IP网络配置文件做学习总结。
第一类Debian中Ubuntu系统为例
Ubuntu系统的网络配置文件有interfaces,resolv.conf等。
一、网络接口配置文件:/etc/network/interfaces
1、内容如下:
# The loopback network interface
auto lo#网卡开机自动挂载
iface lo inet loopback
auto eth0#网卡开机自动挂载,连接网络
iface eth0 inet static #static表示使用固定ip,dhcp表示使用动态ip
address 10.1.101.227 #设置ip地址
netmask 255.255.255.0 #设置子网掩码
gateway 10.1.101.254 #设置网关
dns-nameservers 10.1.101.51
修改了interfaces用下面命令使网络设置生效:/etc/init.d/networking restart #重启网络
或者ifdown eth0 && ifup eth0
2、设置第二个ip地址(虚拟IP地址)
编辑文件/etc/network/interfaces
auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x
二、DNS配置文件:/etc/resolv.conf
首先可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址,这是简单的使用本机的静态查询。
要访问DNS服务器来进行查询,需要设置/etc/resolv.conf文件。
通过该文件设置DNS服务器的IP地址及DNS域名,该文件是由域名解析器使用的配置文件。
(域名解析器:resolver,一个根据主机名解析IP地址的库)
domainname 域名
search domainname.com #表示提供了一个不包括完全域名的主机时,在主机后面添加domainname.com后缀
nameserver x.x.x.x#设置首选DNS,解析域名时使用该地址指定的主机为域名服务器,按nameserver出现顺序查找。
nameserver x.x.x.x#设置备用DNS
sortlist #对返回的域名进行排序
使网络设置生效:/etc/init.d/networking restart #重启网络
三、/etc/hosts文件
包含(本地网络中)已知主机的一个列表。如果系统的IP不是动态获取,就可以使用它。对于简单的主机名解析(点分表示法),在请求DNS或NIS网络之前,/etc/hosts.conf通常会告诉解析程序先查看这里。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
四、/etc/host.conf
当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf确定主机名解释顺序。
order hosts,bind #名称解释顺序,order是关键字,定义先用本机hosts主机表进行名称解释,如果不能解释,再搜索bind名称服务器(DNS)。
multi on #允许主机有多个IP地址
nospoof on #禁止IP地址欺骗
五、/etc/services
Internet网络服务文件,将网络服务名转换为端口号/协议。由inetd、telnet、tcpdump和一些其他程序读取。文件中每一行对应一种服务,它由4个字段组成,中间用TAB或者空格分隔,分别表示 “服务名称”、“使用端口”、“协议名称”以及“别名”。
服务 端口/端口类型 别名 $ cat /etc/services |more tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
六、主机名称配置文件/bin/hostname
用命令hostname newname来设置新主机名
系统启动时,它会从/etc/hostname来读取主机的名称
#假设修改主机名为controller
hostname controller
echo "controller" > /etc/hostname
七、网络相关脚本和命令
/etc/init.d/networking
系统启动时的初始化脚本,当系统以某个级别启动时,它负责初始化所有一级配置的网络接口。
ifconfig命令
不带任何参数的ifconfig命令查看当前系统网络配置情况:
eth0:表示网卡代号
lo:linux内部的网络回环地址,用于模拟网络行为
HWaddr:网卡的硬件地址,也就是MAC地址
inet addr:网卡的Ip地址
Bcast:广播地址
Mask:子网掩码
MTU:最大传输单元(Maximum Trassmission Unit),标识网络接口的可传输的最大封包,此值设定错误可能引起网络故障。
PX:网络从启动到现在为止数据接收情况
TX:网络从启动到现在为止数据发送情况
collisions:网络信号发生冲突的情况
防火墙相关命令
查看防火墙状态:sudo ufw status
启用防火墙:
sudo ufw enable #开启了防火墙,并在系统启动时自动开启
sudo ufw default deny #关闭所有外部对本机的访问,但本机访问外部正常。
sudo ufw disable #禁用防火墙,默认是禁用的
打开某个端口
sudo ufw allow smtp #允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp #允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 #允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 #允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
禁用或关闭某个端口
sudo ufw delete allow 53 #禁用 53 端口
sudo ufw delete allow 80/tcp #禁用 80 端口
sudo ufw deny smtp #禁止外部访问smtp服务
sudo ufw delete allow smtp #删除 smtp 端口的许可
sudo ufw delete allow from 192.168.254.254 #禁止某特定 IP
第二类redhat中redhat为例
redhat系统的网络配置
一、修改IP地址
1、ip配置文件
修改对应网卡的IP地址配置文件/etc/sysconfig/network-scripts/ifcfg-<interface-name>文件
在Redhat中,系统网络设置的配置文件保存在/etc/sysconfig/network-scripts目录下。ifcfg-eth0代表第一块网卡的配置信息,ifcfg-eth1代表第二块网卡的配置信息。在启动时,系统通过读取这个配置文件决定某个网卡是否启动和如何配置。
若希望手工修改网络地址或增加新的网络连接,可以通过修改对应的ifcfg-<interface-name>或创建新的文件来实现。
下面是/etc/sysconfig/network-scripts/ifcfg-{interface-name}的配置信息含义
DEVICE={name} #{name}表示网卡对应物理设备的名字,eth0是第一块网卡,双网卡或更多依次为eth1,eth*
TYPE=Ethernet #网络类型,Ethernet代表以太网
ONBOOT=yes/no #系统启动引导时是否激活该网络接口,设为yes,即激活此设备
NM_CONTROLLED=yes
BOOTPROTO=none/static/bootp/dhcp #设置网卡获得ip地址的方式,可能选项为none,static,bootp,dhcp,分别对应不适用协议,静态指定ip地址,通过dhcp协议获得ip地址,通过bootp协议获得ip地址
IPADDR={address} #如果设置网卡获得ip地址的方式为静态指定,{addres}就代表赋给该网卡的ip地址
NETMASK={mask} #{mask}表示网卡对应的网络掩码
NETWORK={address} #{address}表示网卡对应的网络地址,(可以不要)
GATEWAY={address} #{address}默认网关
DNS1=10.1.101.51 #DNS服务配置
BROADCAST={address} #{address}对应的子网广播地址,如192.168.0.255(可以不要)
MACADDR={MAC-address} #{MAC-address}表示指定一个MAC地址
USERCTL=yes/no # 是否允许非root用户控制该设备
HWADDR=50:e5:49:df:b0:8b #对应的网卡物理地址
IPV6INIT=no #IPV6
IPV6_AUTOCONF=no
2、单网卡绑定2个IP
只需要在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,
内容样例为:
DEVICE="eth0:0"
IPADDR="x.x.x.x"
NETMASK="255.255.255.0"
如果需要再多绑定一个IP地址,只需要把文件名和文件内的DEVICE中的eth0:0加一即可。
linux最多可支持255个IP别名。
二、修改主机名
临时修改:hostname xxx
永久修改:/etc/sysconfig/network
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain #修改localhost.localdomain为xxx
localhost.localdomain中点的前面是主机名,后面是域名。如果没有点就代表是主机名。
三、修改网关
网关配置文件为/etc/sysconfig/network文件
网关配置也可以在/etc/sysconfig/network-scripts/ifcfg-eth0中配置。
network用来指定服务器上的网络配置信息,该文件配置项含义如下:
NETWORK=yes #表示系统是否使用网络,一般设置为yes,如果设置为no,则不能使用网络,而且很多系统服务程序将无法启动
RORWARD_IPV4=yes
HOSTNAME={hostname} #{hostname}表示服务器的主机名,这里的主机名要和/etc/hosts中设置的主机名对应
GAREWAY={address} #{address}设置本机连接的网关的IP地址,例如,网关10.0.0.2
GATEWAYDEV={device} #{device}表示网关的设备名,如:eth0
NETWORK=yes/no #网络是否被配置
FORWARD_IPV4=yes/no #是否开启IP转发功能
四、修改DNS
DNS配置文件为/etc/resolv.conf文件
DNS配置也可以在/etc/sysconfig/network-scripts/ifcfg-eth0中配置。
resolv.conf文件用来配置DNS客户端,它包含了DNS服务器地址和域名搜索配置。同Ubuntu的配置。目前最多支持三个DNS服务器。
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.8.4 #google域名服务器
五、/etc/hosts文件
在机器启动时,在可用查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些信息存放在/etc/hosts文件中。
在没有域名服务器的情况下,系统上所有的网络程序都通过查询该文件来解析对应于某个主机名的IP地址。
[root@lxy-nfs network-scripts]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.1.101.117 lxy-nfs lxy-nfs.engine.com
最左边是一系列主机IP信息,中间是一些列主机名。任何后面的列都是该主机的别名。
六、重启网络配置方法
1、#service network restart
2、#/etc/init.d/network restart
3、#ifdown eth0
#ifup eth0
4、#ifconfig eth0 down
#ifconfig eth0 up
七、相关命令
修改IP地址
1、即时生效:
#ifconfig eth0 192.168.0.2 netmask 255.255.255.0
2、重启系统生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
修改网关Default Gateway
1、即时生效
#route add default gw 192.168.0.2 netmask 255.255.255.0
2、重启系统生效:
修改/etc/sysconfig/network
修改DNS
修改/etc/resolv.conf修改后可即时生效,启动同样有效
修改host name
1、即时生效
hostname newname
2、重启系统生效
修改/etc/sysconfig/network
启动和关闭防火墙
1、即时生效:
#service iptables start
#service iptables stop
2、重启系统生效:
#service iptables on
#service iptables off
总结网络配置:配置IP,网关,DNS,然后重启网络。
开放指定端口
1、用命令
#开放端口:8080
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
#重启防火墙以便改动生效:(或者直接重启系统)
/etc/init.d/iptables restart
2、直接修改iptables
直接在/etc/sysconfig/iptables中增加一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
linux网络相关配置文件的更多相关文章
- 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法
Linux网络相关 ifocnfig 查看网卡ip(yum install net-tools) ip add 查看网卡 ip add = ifocnfig ifconfig 不显示down掉的网卡, ...
- Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法 使用介绍
第7周第3次课(5月9日) 课程内容: 10.11 Linux网络相关10.12 firewalld和netfilter10.13 netfilter5表5链介绍10.14 iptables语法 扩展 ...
- Linux centos7 Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法
一. Linux网络相关 yum install net-tools ifconfig查看网卡ip ifup ens33开启网卡 ifdown ens33关闭网卡 设定虚拟网卡ens33:0 mii- ...
- Linux 网络相关命令 Cheat Sheet
以下漫画形式呈现的常用 Linux 网络相关命令速查表来自 twitter -
- Linux网络——修改配置文件
Linux网络——修改配置文件 摘要:本文主要学习了如何通过修改配置文件来设置网络参数. 配置文件 通过修改系统的配置文件为系统设置网络参数,这种方式的优点是可以永久保存,计算机重启后仍然生效.缺点是 ...
- Linux网络相关配置
一.修改网卡相关配置 Linux网络参数是在/etc/sysconfig/network-scripts/ifcfg-eth0中设置,其中ifcfg-eth0表示是第一个网卡,如果还有另外一块网卡,则 ...
- linux网络相关命令使用
A,iptables使用示例 1,将请求80端口的包发送给本机8180端口(这样,别的机器访问本机的80端口时会被转发到8180端口去) iptables -t nat -A PREROUTING - ...
- Linux网络相关命令firewalld和netfilter、iptables 使用(6/22)
iptables和netfilter的关系: netfilter在内核空间的代码根据table中的rules,完成对packet的分析和处置.但是这些table中的具体的防火墙rules,还是必须由系 ...
- Linux 网络相关命令
1.修改ip,dns相关:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.ifconfig 查找ip,mac地址 3.重启网络:sudo ser ...
随机推荐
- 【Unity】13.3 Realtime GI示例
分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图和光影效果相关的概念和基本设置办法,这样可避免实际复杂场景中 ...
- Java中检测字符串的编码格式
public static String getEncoding(String str) { String encode = "GB2312"; try { if (str.equ ...
- PHP生成图片验证码demo【OOP面向对象版本】
下面是我今天下午用PHP写的一个生成图片验证码demo,仅供参考. 这个demo总共分为4个文件,具体代码如下: 1.code.html中的代码: <!doctype html> < ...
- javascript 之拼接html字符串
// var one = {"id":1, "leasetime":2, "ney":0,"myhuifangshi": ...
- Delphi又要换东家了
前几天听到这个消息,搞个FMX出来,64位还没搞清楚,又开始折腾了!http://www.deltics.co.nz/blog/posts/2371 No Seriously – Let’s Buy ...
- Python 学习之进制与编码
进制 日常生活中,我们最熟悉的数据就是十进制计数.它的数值部分由十个不同的数字符号0.1.2.3.4.5.6.7.8.9来表示,我们把这些数字符号叫做数码,表示十种不同的状态.数码处于不同的位置(或数 ...
- vmware mysql报kernel: EXT4-fs (dm-0): Unaligned AIO/DIO on inode 1055943 by mysqld; performance will be poor
kernel: EXT4-fs (dm-0): Unaligned AIO/DIO on inode 1055943 by mysqld; performance will be poor
- Java中Scanner类和BufferReader类之间的区别
java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串.它本质上是使用正则表达式去读取不同的数据类型. Java.io.BufferedReader类为了能够高效的 ...
- [Architecture Pattern] Repository实作查询功能
[Architecture Pattern] Repository实作查询功能 范例下载 范例程序代码:点此下载 问题情景 在系统的BLL与DAL之间,加入Repository Pattern的设计, ...
- android Adapter剖析理解
UI控件都是跟Adapter(适配器)打交道的 Adapter: 是用来帮助控件填充数据的中间桥梁 (在开发中大多数Textview控件的内容是依靠数据库传递并显示的如:新闻类) Adapter: 将 ...