最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

iptables詳細(xì)教程

2023-02-16 09:04 作者:bili_39183997178  | 我要投稿

四表五鏈

iptables

??iptables有多種功能,每一種功能都用一張表來實(shí)現(xiàn)

??最常用的功能是防火墻和NAT

??從RHEL7開始,默認(rèn)的防火墻為firewalld,但是它的底層仍然調(diào)用iptables

??安裝iptables服務(wù)

# 關(guān)閉firewalld
[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# systemctl disable firewalld

# 安裝iptables
[root@node1 ~]# yum install -y iptables-services.x86_64 ?

??iptables的表和鏈。我們只關(guān)心nat表和filter表。filter表是默認(rèn)的表,它實(shí)現(xiàn)防火墻,也就是包過濾的功能。nat表實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換。

防火墻filter表

??配置iptables時(shí),不指定表,就是使用filter表

??配置時(shí)不指定規(guī)則鏈,則配置所有鏈

??可以向規(guī)則鏈中加入很多規(guī)則,數(shù)據(jù)包進(jìn)入該鏈時(shí),從上向下匹配,一旦匹配就停止,開始應(yīng)用規(guī)則。如果全都不匹配,則應(yīng)用默認(rèn)規(guī)則

??命令選項(xiàng)、鏈名、目標(biāo)操作使用大寫字母,其他小寫

filter中的三條鏈

??INPUT:數(shù)據(jù)包的目標(biāo)地址是自己,則進(jìn)入INPUT鏈

??OUTPUT:數(shù)據(jù)包的源地址是自己,則進(jìn)入OUTPUT鏈

??FORWARD:數(shù)據(jù)包穿過自己,則進(jìn)入FORWARD鏈

環(huán)境準(zhǔn)備

??client1:eth0 -> 192.168.4.10/24 網(wǎng)關(guān):192.168.4.11

??node1:eth0 -> 192.168.4.11/24,eth1 -> 192.168.2.11/24

??server1:eth1 -> 192.168.2.100/24 網(wǎng)關(guān):192.168.2.11

iptables操作

常用選項(xiàng):

-A 追加規(guī)則-->iptables -A INPUT
-D 刪除規(guī)則-->iptables -D INPUT 1(編號)
-R 修改規(guī)則-->iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代現(xiàn)行規(guī)則,順序不變(1是位置)
-I 插入規(guī)則-->iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一條規(guī)則,原本位置上的規(guī)則將會往后移動一個(gè)順位
-L 查看規(guī)則-->iptables -L INPUT 列出規(guī)則鏈中的所有規(guī)則

通用參數(shù):
-p 協(xié)議 ?例:iptables -A INPUT -p tcp
-s源地址 例:iptables -A INPUT -s 192.168.1.1
-d目的地址 例:iptables -A INPUT -d 192.168.12.1
-sport源端口 例:iptables -A INPUT -p tcp --sport 22
-dport目的端口 例:iptables -A INPUT -p tcp --dport 22
-i指定入口網(wǎng)卡 例:iptables -A INPUT -i eth0
-o指定出口網(wǎng)卡 例:iptables -A FORWARD -o eth0

-j 指定要進(jìn)行的處理動作
常用的ACTION:
DROP:丟棄
REJECT:明示拒絕
ACCEPT:接受

查看filter表中的規(guī)則。-t指定表名
[root@node1 ~]# iptables -t filter -L ??# 所有規(guī)則鏈都是空的

[root@node1 ~]# iptables -L ??# 不指定表名,默認(rèn)操作filter表

# 默認(rèn)規(guī)則往往不合我們的要求,可以先將所有的規(guī)則清空
[root@node1 ~]# iptables -F

??iptables的語法

iptables [-t 表名] 選項(xiàng) [鏈名] [條件] [-j 滿足條件的操作]

??示例

–?可以設(shè)置默認(rèn)拒絕,然后明確允許

–?也可以設(shè)置默認(rèn)允許,然后明確拒絕

# 向INPUT鏈追加規(guī)則,192.168.4.254發(fā)來的包全部接受
# -A是追加,-s是匹配源地址,-j為jump,采取的行為,ACCEPT是接受
[root@node1 ~]# iptables -A INPUT -s 192.168.4.254 -j ACCEPT

# 將INPUT鏈的默認(rèn)規(guī)則改為DROP丟棄。-P設(shè)置默認(rèn)規(guī)則
[root@node1 ~]# iptables -P INPUT DROP

# 查看INPUT鏈的規(guī)則
[root@node1 ~]# iptables -L INPUT

# 允許192.168.4.0網(wǎng)絡(luò)的主機(jī)ssh連接node1
# -I是插入到INPUT鏈的第1個(gè)位置。-p指定協(xié)議,--dport指定目標(biāo)端口號。-j是執(zhí)行的操作
[root@node1 ~]# iptables -I INPUT 1 -s 192.168.4.0/24 -p tcp --dport 22 -j ACCEP

# 查看規(guī)則,n是指用數(shù)字來表示端口號、主機(jī)等
[root@node1 ~]# iptables -nL INPUT

# 配置任何地址訪問node1的80端口,即http協(xié)議,都接受

# 不指定源,就是任何源
[root@node1 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@node1 ~]# iptables -nL INPUT

?拒絕192.168.4.254 ping node1。以下寫法不會生效,因?yàn)椴迦氲搅艘?guī)則尾部,在它上面已經(jīng)存在允許192.168.4.254通信的規(guī)則了。
# icmp就是ping命令底層用到的協(xié)議,叫Internet控制消息協(xié)議
[root@node1 ~]# iptables -A INPUT -s 192.168.4.254 -p icmp -j REJECT

查看規(guī)則的行號
[root@node1 ~]# iptables -nL INPUT --line-numbers

?刪除第4條規(guī)則
[root@node1 ~]# iptables -D INPUT 4

# 拒絕192.168.4.254 ping node1。-I不指定位置,默認(rèn)插到最上面
[root@node1 ~]# iptables -I INPUT -s 192.168.4.254 -p icmp -j REJECT

# 保存規(guī)則。不保存規(guī)則,重啟iptables服務(wù),自定義規(guī)則將消失
[root@node1 ~]# service iptables save

# 在中間節(jié)點(diǎn)node1上打開路由轉(zhuǎn)發(fā)功能
[root@node1 ~]# sysctl -a | grep ip_forward
[root@node1 ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
[root@node1 ~]# sysctl -p

配置FORWARD鏈

??要求:在node1上配置防火墻,保護(hù)server1

默認(rèn)拒絕所有數(shù)據(jù)包通過

從server1所在網(wǎng)段發(fā)往client1所在網(wǎng)段的包全部允許

從client1所在網(wǎng)段到server1所在網(wǎng)段,允許icmp,允許22、80、443端口通過

# 默認(rèn)拒絕所有數(shù)據(jù)包通過,此時(shí)client1和server1完全不通
[root@node1 ~]# iptables -P FORWARD DROP

# 源地址是192.168.2.0/24,目標(biāo)地址是192.168.4.0/24的包,放行
[root@node1 ~]# iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.4.0/24 -j ACCEPT

從client1到server1,允許icmp
[root@node1 ~]# iptables -A FORWARD -s 192.168.4.0/24 -d 192.168.2.0/24 -p icmp -j ACCEPT

?允許從client1訪問server1的22、80、443,100-120端口范圍
# -m是引入擴(kuò)展模塊,multiport多端口
[root@node1 ~]# iptables -A FORWARD -p tcp -m multiport --dport 22,80,443,100:120 -s 192.168.4.0/24 -j ACCEPT

# 拒絕192.168.4.10-192.168.4.20訪問192.168.2.50-192.168.2.150
# -m是引入擴(kuò)展模塊,src-range是源地址范圍,dst-range目標(biāo)地址范圍
[root@node1 ~]# iptables -I FORWARD -m iprange --src-range 192.168.4.10-192.168.4.20 --dst-range 192.168.2.50-192.168.2.150 -j REJECT

NAT

??NAT:網(wǎng)絡(luò)地址翻譯、網(wǎng)絡(luò)地址轉(zhuǎn)換

??NAT技術(shù)產(chǎn)生,主要是解決IPV4地址不夠用。

??NAT一般用于將私有地址轉(zhuǎn)成全球唯一的公有地址。

??私有地址:

–?A類:10.x.x.x

–?B類:172.16.x.x-172.31.x.x

–?C類:192.168.x.x

??私有地址,如果需要訪問互聯(lián)網(wǎng)中的公有地址,進(jìn)行上網(wǎng),可以通過NAT技術(shù),將私有地址轉(zhuǎn)成公有地址,再訪問外界。

配置SNAT

練習(xí)環(huán)境下,在node1上配置NAT,當(dāng)client1訪問server1時(shí),將client1的地址轉(zhuǎn)換成server1的192.168.2.x再發(fā)給server1。因?yàn)閿?shù)據(jù)包的源地址改變了,所以叫SNAT,S即Source。

?向nat表中的POSTROUTING鏈添加規(guī)則。將源地址192.168.4.0/24轉(zhuǎn)換成它外網(wǎng)卡地址。
[root@node1 ~]# iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -j MASQUERADE
[root@node1 ~]# iptables -t nat -nL


iptables詳細(xì)教程的評論 (共 條)

分享到微博請遵守國家法律
唐海县| 东海县| 达孜县| 宜兰市| 满洲里市| 长子县| 廊坊市| 游戏| 通州市| 湖南省| 莱州市| 巴东县| 二连浩特市| 婺源县| 临湘市| 江西省| 台湾省| 龙里县| 德江县| 南充市| 桐梓县| 石渠县| 武胜县| 临湘市| 开江县| 泾川县| 郧西县| 吐鲁番市| 茶陵县| 盐池县| 明溪县| 清水河县| 合江县| 酒泉市| 浙江省| 河间市| 平阴县| 勃利县| 周至县| 政和县| 广西|