一、添加静态路由

  • 如图所示,network1(10.0.0.11)和network2(10.0.0.12/172.16.1.12)是nat模式链接,network2和network3(172.16.1.13)是lan区段链接.如何做到network1能够ping通network3(不是一个网段)
    学习Linux运维的个人笔记:Linux网络基础篇——静态路由与iptable软件防火墙(二十六)_网络
不是一个网段,添加静态路由即可找到。(告诉数据包该怎么走,数据包有来有回就通了)
#给network1添加静态路由,用10.0.0.12作为跳板
route add -net 172.16.1.0/24 gw 10.0.0.12

#用sysctl给network2调整内核参数(每次重启网卡之后都要打开)
sysctl net.ipv4.ip_forward=1

#系统直接丢掉数据包有两种情况:
	#1.不是自己的数据包
	#2.不知道怎么回复的数据包。
#所以network3也需要添加静态路由,用172.16.1.12做跳板
route add -net 10.0.0.0/24 gw 172.16.1.12
  • 如果增加一个路由器则同理即可ping通
    学习Linux运维的个人笔记:Linux网络基础篇——静态路由与iptable软件防火墙(二十六)_网络_02
  • 使用route add只是临时的,若要永久配置
ip route 		#查看静态路由
#永久配置(创建一个文件在network-scripts)
ip route |tail -1 >/etc/sysconfig/network-scripts/route-eth0

二、追踪命令

  • 追踪命令可以追踪访问一个网站的足迹
traceroute -n www.qq.com 	(Linux)
tracert -d www.qq.com      	(windows)

三、iptable软件防火墙

  • iptable和firewalld都是防火墙,而且都是调用linux内核netfilter模块。但是iptable需要懂一些网络知识,而firewalld对网络知识没有要求,更简单。

  • iptable的四表五链

四表

表名 意义
filter 过滤数据包
nat 实现NAT上网
mangle 修改数据包
raw 追踪数据包

五链

链名 意义
PREROUTING链 地址转换
INPUT链 进来的数据包
FORWARD链 转发数据包规则(默认是打开的ACCEPT)
OUTPUT链 外出的数据包
POSTROUTING链 地址转换

四表与五链的关系
学习Linux运维的个人笔记:Linux网络基础篇——静态路由与iptable软件防火墙(二十六)_80端口_03

  • iptable的参数
iptables -L			#查看iptable规则
iptables -I			#插入新规则
iptables -A			#追加新规则
iptables -D			#删除规则
iptables -F			#清空规则
-j后面接动作

filter表

  • filter表=INPUT+FORWARD+OUTPUT
  • FORWARD链默认是允许任何数据包通过的。
iptables -P FORWARD DROP	#修改FORWARD链默认规则
  • INPUT的应用(数据包的进入)
    防火墙保护模式分两种:黑名单与白名单(阻止数据包的进入,默认是所有数据包都可以进)
  1. 黑名单:
    加入黑名单相当于分组不可见
#阻止10.0.0.1访问
iptable -I INPUT --source 10.0.0.1 -j DROP

网站服务器:
	所有人都可以访问80端口,只有指定ip可以访问22端口
	#ip为10.0.0.1的tcp协议可以访问22端口
	iptables -I INPUT --source 10.0.0.1 --protocol tcp --dport 22 -j ACCEPT
	#禁止其他的ip访问22端口
	iptables -A INPUT --protocol tcp --dport 22 -j DROP	
  1. 白名单
    加入白名单相当于仅分组可见
	所有人可以访问80端口,只有指定ip可以访问22端口
	#将tcp协议80端口打开
	iptables -A INPUT --protocol tcp --dport 80 -j ACCEPT
	#ip为10.0.0.1的tcp协议可以访问22端口
	iptables -I INPUT --source 10.0.0.1 --protocol tcp --dport 22 -j ACCEPT
	#修改默认(将所有人拒绝访问)
	iptables -P INPUT DROP

顺序很重要否则xshell连接不上!!!!

  • INPUT的应用
    拦截出去的包
#将14.215.177.38的出去的包拦截
iptables -I OUTPUT --destination 14.215.177.38 --protocol icmp -j DROP