linux系统通常来讲分为两大类:一、RedHat系列:Redhat、Centos、Fedora等;二、Debian系列:Debian、Ubuntu等。linux
linux系统中,TCP/IP网络是经过若干个文本文件来进行配置的,须要配置这些文件来联网,下面对linux两大类系统中基本的TCP/IP网络配置文件作学习总结。服务器
Ubuntu系统的网络配置文件有interfaces,resolv.conf等。网络
一、内容以下:dom
# The loopback network interfacessh
auto lo#网卡开机自动挂载tcp
iface lo inet loopbackoop
auto eth0#网卡开机自动挂载,链接网络学习
iface eth0 inet static #static表示使用固定ip,dhcp表示使用动态ipgoogle
address 10.1.101.227 #设置ip地址spa
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
二、设置第二个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
首先能够在/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 #重启网络
包含(本地网络中)已知主机的一个列表。若是系统的IP不是动态获取,就可使用它。对于简单的主机名解析(点分表示法),在请求DNS或NIS网络以前,/etc/hosts.conf一般会告诉解析程序先查看这里。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf肯定主机名解释顺序。
order hosts,bind #名称解释顺序,order是关键字,定义先用本机hosts主机表进行名称解释,若是不能解释,再搜索bind名称服务器(DNS)。
multi on #容许主机有多个IP地址
nospoof on #禁止IP地址欺骗
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
用命令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系统的网络配置
一、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个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配置文件为/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域名服务器
在机器启动时,在可用查询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信息,中间是一些列主机名。任何后面的列都是该主机的别名。
一、#service network restart
二、#/etc/init.d/network restart
三、#ifdown eth0
#ifup eth0
四、#ifconfig eth0 down
#ifconfig eth0 up
修改IP地址
一、即时生效:
#ifconfig eth0 192.168.0.2 netmask 255.255.255.0
二、重启系统生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
修改网关Default Gateway
一、即时生效
#route add default gw 192.168.0.2 netmask 255.255.255.0
二、重启系统生效:
修改/etc/sysconfig/network
修改DNS
修改/etc/resolv.conf修改后可即时生效,启动一样有效
修改host name
一、即时生效
hostname newname
二、重启系统生效
修改/etc/sysconfig/network
启动和关闭防火墙
一、即时生效:
#service iptables start
#service iptables stop
二、重启系统生效:
#service iptables on
#service iptables off
总结网络配置:配置IP,网关,DNS,而后重启网络。
开放指定端口
一、用命令
#开放端口:8080
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
#重启防火墙以便改动生效:(或者直接重启系统)
/etc/init.d/iptables restart
二、直接修改iptables
直接在/etc/sysconfig/iptables中增长一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT