您的位置:首页 > 理论基础 > 计算机网络

Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法

2017-10-30 23:35 851 查看
Linux网络相关
1、yum install net-tools
2、重启网卡
[root@centos7 ~]# ifdown eno16777736 && ifup eno16777736
3、新增虚拟IP
cp ifcfg-eno16777736 ifcfg-eno16777736\:0
vi ifcfg-eno16777736:0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736:0
UUID=bb3b3feb-b209-4e36-ba0f-6022977c84d0
DEVICE=eno16777736:0
ONBOOT=yes
IPADDR=192.168.100.105
NETWORK=255.255.255.0
GATEWAY=192.168.100.1
DNS1=114.114.114.114
ifdown eno16777736 && ifup eno16777736
再次查看ifconfig -a;多了一个虚拟网卡

4、mii-tool查看是否连接网线
[root@centos7 ~]# mii-tool eno16777736
eno16777736: negotiated 1000baseT-FD flow-control, link ok

5、更改主机名

[root@centos7 ~]# hostnamectl set-hostname test-7
[root@centos7 ~]# bash
[root@test-7 ~]# hostname
test-7
配置文件:

[root@test-7 ~]# cat /etc/hostname
test-7

firewalld和netfilter
1、永久关闭selinux
[root@test-7 ~]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled

临时关闭
[root@test-7 ~]# setenforce 0
setenforce: SELinux is disabled

查看是否关闭

[root@test-7 ~]# getenforce
Disabled

开机不启动
[root@test-7 ~]# systemctl disable firewalld
关闭防火墙
[root@test-7 ~]# systemctl stop firewalld
安装iptables工具,名称是netfil
[root@test-7 ~]# yum install -y iptables-services

iptables和netfilter的关系:
Iptables和netfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道 netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。

iptables传输数据包的过程① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。




规则表:1.filter表——三个链:INPUT、FORWARD、OUTPUT
作用:过滤数据包 内核模块:iptables_filter.
2.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat3、Mangle表 4、Raw表 5、security用的不多,暂时不考虑

数据包流向与netfilter的5个链
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外发出
POSTROUTING:发送到网卡接口之前

iptables语法
查看规则
[root@test-7 ~]# iptables -nvL
配置文件保存:

[root@test-7 ~]# cat /etc/sysconfig/iptables

清空规则(需要保存配置文件信息才清空)
[root@test-7 ~]# iptables -F
[root@test-7 ~]# service iptables save

可以把计数器清零:
[root@test-7 ~]# iptables -Z

-A:add 增加一个input链
-s:源端口
-p:指导tcp/udp
--sport:
-d:目标IP
--dport: 目标端口
-j DROP拒绝 ACCEPT:接受
iptables -A INPUT -s 192.168.100.102 -p tcp --sport 1234 -d 192.168.100.100 --dport 80 -j DROP

-I:会在iptables的配置文件中第一个写入,即优先第一个排序执行
iptables -I INPUT -p tcp --dport 9889 -j DROP

产生一个序号,可以根据这个序号删除对应的规则
[root@test-7 ~]# iptables -nvL --line-numbers
Chain INPUT (policy ACCEPT 119 packets, 9078 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 81 packets, 8932 bytes)
num pkts bytes target prot opt in out source destination

删除规则:
[root@test-7 ~]# iptables -D INPUT 1

全部禁用端口,不能用以下命令
[root@test-7 ~]# iptables -P INPUT DROP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 基础
相关文章推荐