ifcfg-eth0
- /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 接口名 | 物理设备名
USERCTL=yes|no 非root用户可否控制该设备
BOOTPROTO=[none|static|bootp|dhcp] IP的配置方式[引导时不用协议|使用静态分配IP|bootp协议|DHCP协议]
HWADDR=xx:xx:xx:xx:xx:xx 接口的MAC地址
ONBOOT=yes|no 系统启动的时候接口是否有效
TYPE=Ethernet 网络类型,通常为Ethemet
NETMASK=255.255.255.0 网络掩码
IPADDR=192.168.3.218 网络IP地址
IPV6INIT=yes|no IPv6是否有效
GATEWAY=192.168.1.1 默认网关IP,会影响到route -n的默认网关(设置默认handler)
BROADCAST=192.168.3.255 广播的IP地址
NETWORK=192.168.1.0 网络地址(一般为系统设置,建议不要手动设置)
NAME="inner eth0" 描述该接口
UUID=xxxxxxxxxxxxx
DNS1=10.100.9.101
DNS2=10.100.9.102
ifconfig命令
Ifconfig 查询本机的所有网络配置信息
ifconfig -a 查看所有网络接口的配置信息
Ifconfig eth0 192.168.2.99 设置网卡eth0的IP
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 配置eth0的IP和Netmask
ifconfig eth0 down 禁用网卡eth0
ifconfig eth0 hw ether 00:0C:18:EF:FF:ED 设置网卡eth0的硬件Mac地址
ifconfig eth0 up 启用网卡eth0
ping用法
ping -b
echo 1 > /proc/sys/net/ipv4/ip_forward 开启IP数据包转发功能
arp用法
arp -n 显示列表信息
route用法
- route
显示所有的路由(默认查看main路由表) [小网域->大网域->默认网域] - route add -net 192.168.62.0 netmask 255.255.255.0 gw 192.168.1.1
添加一路由(发往192.168.62网段),要求都经过192.168.1.1网关(临时生效-网卡/机器重启失效) - route del default
删除默认路由 - route del -net 192.168.122.0 netmask 255.255.255.0
删除一条路由,不用写网关 - route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
删除绑定在eth0上的一个网域 - route del -host 192.168.168.110 dev eth0
删除本地eth0网卡上绑定的一条路由 - route add default gw 192.168.3.1
添加默认网关
/etc/rc.local(永久生效)
- route add -net 192.168.3.0/24 dev eth0
添加永久路由 - route add -net 192.168.2.0/24 gw 192.168.3.254
为eth0添加到网络的192.168. - route add -net 10.0.0.0 netmask 255.0.0.0 eth0
为eth0增加一段网域,前提是eth0可以连接该路由(网域的IP具备路由器的功能) - route add -net 10.0.0.0 netmask 255.0.0.0 reject
设置到网络10.0.0.0是不可到达的(避免长时间请求等待) - ip route
查看本机路由信息 - Flags 选项
U(路由启动状态)H(目标是主机)G(需要外部主机转递封包)
D(动态路由)M(路由被修改)!(路由拒绝) - vi /etc/iproute2/rt_tables
建立特殊路由表(local、main、default等) - ip rule
查看当前机器的ip rule,查看规则走了几个路由表(自上向下查找)
iptables用法
Filter表:(默认表)防火墙相关
NAT表:snat(源地址转换)、dnat(目标地址转换)、pnat(目标端口转换)
Mangle表:修改报文再整合
Raw
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机(过滤进入本机的数据包,攻击)
FORWARDING:通过路由表后,目的地不为本地(经过而不入主机NAT相关)
OUTPUT:由本机产生,向外转发(处理本机发出的数据包,泄密)
POSTROUTING:发送到网卡接口之前
iptables [-t 表名] -命令 -匹配 -j 动作/目标
-s:源IP段
-d:目标网段
-i:数据流入的网口eth0
-o:数据流出的网口eth0
-p:协议tcp udp
对于严谨的规则,一般默认规则都是拒绝未知,允许已知
案例
- iptables -L
查看filter表 - iptables -t nat -L
查看nat表 - iptables -t mangle -L
查看mangle表 - iptables -F
清除所选链中的所有规则 - iptables -Z
计数器清零 - iptables -A INPUT
为INPUT链追加
iptables -t filter -P INPUT -j DROP 丢弃
iptables -t filter -P INPUT -j REJECT 拒绝
iptables -t filter -P INPUT -j ACCEPT 接受
iptables -t filter -P INPUT -j RETURN 返回主链继续匹配
iptables -t filter -P INPUT -j REDIRECT 端口重定向
iptables -t filter -P INPUT -j MASQUERADE地址伪装
iptables -t filter -P INPUT -j DNAT|SNAT 地址转换
iptables -t filter -P INPUT -j MARK 打标签
iptables -t filter -P INPUT LOG
设置filter表INPUT链的默认Policy为丢弃
SNAT:代理内部客户端访问外部网络,在POSTROUTING或OUTPUT链上来做规则限制
DNAT:将内部服务器公开至外部网络,需在PREROUTING做限制
iptables -N filter_web
自定义链被调用才发挥作用
iptables -X
清除filter中使用者自定链中的规则(X Z同理),内置链不能删除
iptables -E
重命名自定义链
iptables -t nat -A
nat表末尾追加规则
iptables -t nat -I3
nat插入为第3条规则
iptables -t nat -D
删除第几条规则
iptables -t nat -R3
替换第几条规则
iptables -A INPUT -s 10.0.10.0/24 -d 10.0.10.0/24 -j ACCEPT
允许10.0.10.0/24网段的ip地址访问
iptables -A INPUT -s 10.0.10.0/24 -d 10.0.10.0/24 -I eth0 -j ACCEPT
只允许指定网段10.0.10.0/24内的IP可以访问到eth0网卡
iptables-P INPUT DORP
iptables-A INPUT -s 10.0.10.0/24 -d 10.0.10.0/24 -j ACCEPT
iptables-P OUTPUT DORP
iptables-A OUTPUT -d 10.0.10.0/24 -s 10.0.10.0/24-j ACCEPT
对于严谨的规则,一般默认规则都是拒绝未知,允许已知
/etc/init.d/iptables save
保存规则到默认配置
iptables-save > /tmp/iptables
保存规则到其它文件
iptables-restore < /tmp/iptables
加载iptables文件规则
- iptables -A INPUT -d 10.0.10.62 -ptcp –dport 80 -j ACCEPT
放行对本机web的访问 - iptables -A OUTPUT -s 10.0.10.62 -p tcp –sport 80 -j ACCEPT
放行出去的报文,源端口未80 - iptables -A OUTPUT -s 10.0.10.62 -d 10.0.10.0/24 -p icmp –icmp-type8 -j ACCEPT
允许本机ping通 10.0.10.0/24网段 - ‘-m string –string “/CMT” –algo bm -j DROP’
通过字符串的匹配进行防止过滤