iptables簡(jiǎn)單使用命令案例

以下是針對(duì)懂iptables晰绎,但是不常用寓落,望終端而忘命令語法的人看的,下面iptables常用規(guī)則示例荞下,希望這些例子為您提供了些基本的模板伶选,您可以根據(jù)特定需求對(duì)其進(jìn)行修改調(diào)整以達(dá)到期望

格式
iptables [-t 表名] 選項(xiàng) [鏈名] [條件] [-j 控制類型]

參數(shù) 
-P 設(shè)置默認(rèn)策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空規(guī)則鏈
-L 查看規(guī)則鏈
-A 在規(guī)則鏈的末尾加入新規(guī)則
-I num 在規(guī)則鏈的頭部加入新規(guī)則
-D num 刪除某一條規(guī)則
-s 匹配來源地址IP/MASK,加嘆號(hào)"!"表示除這個(gè)IP外尖昏。
-d 匹配目標(biāo)地址
-i 網(wǎng)卡名稱 匹配從這塊網(wǎng)卡流入的數(shù)據(jù)
-o 網(wǎng)卡名稱 匹配從這塊網(wǎng)卡流出的數(shù)據(jù)
-p 匹配協(xié)議,如tcp,udp,icmp
--dport num 匹配目標(biāo)端口號(hào)
--sport num 匹配來源端口號(hào)

一仰税、示例

1. 刪除已有規(guī)則

在開始創(chuàng)建iptables規(guī)則之前,你也許需要?jiǎng)h除已有規(guī)則抽诉。
命令如下:

    iptables -F
    (or)
    iptables –flush

2.設(shè)置鏈的默認(rèn)策略

鏈的默認(rèn)政策設(shè)置為”ACCEPT”(接受)陨簇,若要將INPUT,FORWARD,OUTPUT鏈設(shè)置成”DROP”(拒絕),命令如下:

  iptables -P INPUT DROP
  iptables -P FORWARD DROP
  iptables -P OUTPUT DROP

當(dāng)INPUT鏈和OUTPUT鏈都設(shè)置成DROP時(shí)迹淌,對(duì)于每一個(gè)防火墻規(guī)則河绽,我們都應(yīng)該定義兩個(gè)規(guī)則己单。例如:一個(gè)傳入另一個(gè)傳出。在下面所有的例子中耙饰,由于我們已將DROP設(shè)置成INPUT鏈和OUTPUT鏈的默認(rèn)策略纹笼,每種情況我們都將制定兩條規(guī)則。當(dāng)然苟跪,如果你相信你的內(nèi)部用戶,則可以省略上面的最后一行廷痘。例如:默認(rèn)不丟棄所有出站的數(shù)據(jù)包。在這種情況下,對(duì)于每一個(gè)防火墻規(guī)則要求,你只需要制定一個(gè)規(guī)則——只對(duì)進(jìn)站的數(shù)據(jù)包制定規(guī)則件已。

3. 阻止指定IP地址

例:丟棄來自IP地址x.x.x.x的包

  iptables -A INPUT -s x.x.x.x -j DROP

注:當(dāng)你在log里發(fā)現(xiàn)來自某ip地址的異常記錄笋额,可以通過此命令暫時(shí)阻止該地址的訪問以做更深入分析
例:阻止來自IP地址x.x.x.x eth0 tcp的包

  iptables -A INPUT -i eth0 -s x.x.x.x -j DROP
  iptables -A INPUT -i eth0 -p tcp -s x.x.x.x -j DROP

4. 允許所有SSH的連接請(qǐng)求

例:允許所有來自外部的SSH連接請(qǐng)求,即只允許進(jìn)入eth0接口篷扩,并且目標(biāo)端口為22的數(shù)據(jù)包

  iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

5. 僅允許來自指定網(wǎng)絡(luò)的SSH連接請(qǐng)求

例:僅允許來自于192.168.100.0/24域的用戶的ssh連接請(qǐng)求

  iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

6.允許http和https的連接請(qǐng)求

例:允許所有來自web - http的連接請(qǐng)求

  iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

例:允許所有來自web - https的連接請(qǐng)求

  iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

7. 使用multiport 將多個(gè)規(guī)則結(jié)合在一起

允許多個(gè)端口從外界連入鳞陨,除了為每個(gè)端口都寫一條獨(dú)立的規(guī)則外,我們可以用multiport將其組合成一條規(guī)則瞻惋。如下所示: 例:允許所有ssh,http,https的流量訪問

  iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT

8. 允許從本地發(fā)起的SSH

  iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

請(qǐng)注意,這與允許ssh連入的規(guī)則略有不同厦滤。本例在OUTPUT鏈上,我們?cè)试SNEW和ESTABLISHED狀態(tài)歼狼。在INPUT鏈上掏导,我們只允許ESTABLISHED狀態(tài)。ssh連入的規(guī)則與之相反羽峰。

9. 僅允許從本地發(fā)起到一個(gè)指定的網(wǎng)絡(luò)域的SSH請(qǐng)求

例:僅允許從內(nèi)部連接到網(wǎng)域192.168.100.0/24

  iptables -A OUTPUT -o eth0 -p tcp -d 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

10. 允許從本地發(fā)起的HTTPS連接請(qǐng)求

下面的規(guī)則允許輸出安全的網(wǎng)絡(luò)流量趟咆。如果你想允許用戶訪問互聯(lián)網(wǎng),這是非常有必要的梅屉。在服務(wù)器上值纱,這些規(guī)則能讓你使用wget從外部下載一些文件

 iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
 iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

注:對(duì)于HTTP web流量的外聯(lián)請(qǐng)求,只需要將上述命令中的端口從443改成80即可坯汤。

11. 負(fù)載平衡傳入的網(wǎng)絡(luò)流量

使用iptables可以實(shí)現(xiàn)傳入web流量的負(fù)載均衡虐唠,我們可以傳入web流量負(fù)載平衡使用iptables防火墻規(guī)則。 例:使用iptables nth將HTTPS流量負(fù)載平衡至三個(gè)不同的ip地址惰聂。

  iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.101:443
  iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 1 -j DNAT --to-destination 192.168.1.102:443
  iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 2 -j DNAT --to-destination 192.168.1.103:443

12. 允許外部主機(jī)ping內(nèi)部主機(jī)

  iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
  iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

13. 允許內(nèi)部主機(jī)ping外部主機(jī)

  iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
  iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

14. 允許回環(huán)訪問

例:在服務(wù)器上允許127.0.0.1回環(huán)訪問疆偿。

  iptables -A INPUT -i lo -j ACCEPT
  iptables -A OUTPUT -o lo -j ACCEPT

15. 允許內(nèi)部網(wǎng)絡(luò)域外部網(wǎng)絡(luò)的通信

防火墻服務(wù)器上的其中一個(gè)網(wǎng)卡連接到外部,另一個(gè)網(wǎng)卡連接到內(nèi)部服務(wù)器搓幌,使用以下規(guī)則允許內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的通信杆故。此例中,eth1連接到外部網(wǎng)絡(luò)(互聯(lián)網(wǎng))溉愁,eth0連接到內(nèi)部網(wǎng)絡(luò)(例如:192.168.1.x)处铛。

  iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

16. 允許出站的DNS連接

 iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
 iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

17. 允許NIS連接

如果你使用NIS管理用戶帳戶,你需要允許NIS連接。如果你不允許NIS相關(guān)的ypbind連接請(qǐng)求撤蟆,即使SSH連接請(qǐng)求已被允許篙贸,用戶仍然無法登錄。NIS的端口是動(dòng)態(tài)的枫疆,先使用命令rpcinfo –p來知道端口號(hào)爵川,此例中為853和850端口。 rpcinfo -p | grep ypbind 例:允許來自111端口以及ypbind使用端口的連接請(qǐng)求

  iptables -A INPUT -p tcp --dport 111 -j ACCEPT
  iptables -A INPUT -p udp --dport 111 -j ACCEPT
  iptables -A INPUT -p tcp --dport 853 -j ACCEPT
  iptables -A INPUT -p udp --dport 853 -j ACCEPT
  iptables -A INPUT -p tcp --dport 850 -j ACCEPT
  iptables -A INPUT -p udp --dport 850 -j ACCEPT

注:當(dāng)你重啟ypbind之后端口將不同息楔,上述命令將無效寝贡。有兩種解決方案:1)使用你NIS的靜態(tài)IP 2)編寫shell腳本通過“rpcinfo - p”命令自動(dòng)獲取動(dòng)態(tài)端口號(hào),并在上述iptables規(guī)則中使用。

18. 允許來自指定網(wǎng)絡(luò)的rsync連接請(qǐng)求

例:允許來自網(wǎng)絡(luò)192.168.101.0/24的rsync連接請(qǐng)求

  iptables -A INPUT -i eth0 -p tcp -s 192.168.101.0/24 --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 873 -m state --state ESTABLISHED -j ACCEPT

19. 允許來自指定網(wǎng)絡(luò)的MySQL連接請(qǐng)求

很多情況下值依,MySQL數(shù)據(jù)庫與web服務(wù)跑在同一臺(tái)服務(wù)器上圃泡。有時(shí)候我們僅希望DBA和開發(fā)人員從內(nèi)部網(wǎng)絡(luò)(192.168.100.0/24)直接登錄數(shù)據(jù)庫,可嘗試以下命令:

  iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT

20. 允許Sendmail, Postfix郵件服務(wù)

Sendmail和postfix都使用了25端口愿险,因此我們只需要允許來自25端口的連接請(qǐng)求即可颇蜡。

  iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT

21. 允許IMAP和IMAPS

例:允許IMAP/IMAP2流量,端口為143

  iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 143 -m state --state ESTABLISHED -j ACCEPT

例:允許IMAPS流量辆亏,端口為993

  iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 993 -m state --state ESTABLISHED -j ACCEPT

22. 允許POP3和POP3S

例:允許POP3訪問

  iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT

例:允許POP3S訪問

  iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 995 -m state --state ESTABLISHED -j ACCEPT

23. 防止DoS攻擊

  iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

上述例子中:
-m limit: 啟用limit擴(kuò)展
–limit 25/minute: 允許最多每分鐘25個(gè)連接(根據(jù)需求更改)风秤。
–limit-burst 100: 只有當(dāng)連接達(dá)到limit-burst水平(此例為100)時(shí)才啟用上述limit/minute限制。

24. 端口轉(zhuǎn)發(fā)

例:將來自422端口的流量全部轉(zhuǎn)到22端口扮叨。 這意味著我們既能通過422端口又能通過22端口進(jìn)行ssh連接缤弦。啟用DNAT轉(zhuǎn)發(fā)。

  iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22

除此之外彻磁,還需要允許連接到422端口的請(qǐng)求

  iptables -A INPUT -i eth0 -p tcp --dport 422 -m state --state NEW,ESTABLISHED -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp --sport 422 -m state --state ESTABLISHED -j ACCEPT

25. 記錄丟棄的數(shù)據(jù)表

第一步:新建名為L(zhǎng)OGGING的鏈

  iptables -N LOGGING

第二步:將所有來自INPUT鏈中的數(shù)據(jù)包跳轉(zhuǎn)到LOGGING鏈中

  iptables -A INPUT -j LOGGING

第三步:為這些包自定義個(gè)前綴碍沐,命名為”IPTables Packet Dropped”

  iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7

第四步:丟棄這些數(shù)據(jù)包

  iptables -A LOGGING -j DROP

二、這是我用過的一臺(tái)服務(wù)器防火墻規(guī)則:

  [root@DB01 ~]# iptables-save 
  # Generated by iptables-save v1.4.7 on Wed Aug 15 11:36:17 2018
  *filter
  :INPUT ACCEPT [0:0]
  :FORWARD ACCEPT [0:0]
  :OUTPUT ACCEPT [736142296:803624310208]
  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
  -A INPUT -p icmp -j ACCEPT 
  -A INPUT -i lo -j ACCEPT 
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT 
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 10050:10051 -j  ACCEPT 
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT 
  -A INPUT -j REJECT --reject-with icmp-host-prohibited 
  -A FORWARD -j REJECT --reject-with icmp-host-prohibited 
  COMMIT
  # Completed on Wed Aug 15 11:36:17 2018
  [root@DB01 ~]#

相關(guān)解釋

 ESTABLISHED:已建立的鏈接狀態(tài)衷蜓。
 RELATED:該數(shù)據(jù)包與本機(jī)發(fā)出的數(shù)據(jù)包有關(guān)
 對(duì)進(jìn)來的包的狀態(tài)進(jìn)行檢測(cè)累提。已經(jīng)建立tcp連接的包以及該連接相關(guān)的包允許通過!
 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

-i 參數(shù)是指定接口磁浇,這里的接口是lo 斋陪,lo就是Loopback(本地環(huán)回接口)
意思就允許本地環(huán)回接口在INPUT表的所有數(shù)據(jù)通信
-A INPUT -i lo -j ACCEPT

這兩條的意思是在INPUT表和FORWARD表中拒絕所有其他不符合上述任何一條規(guī)則的數(shù)據(jù)包。
并且發(fā)送一條host prohibited的消息給被拒絕的主機(jī)  
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 


加LOG是為了看下自己有哪些進(jìn)入流量方便篩選
[root@DB01 ~]#cat /var/log/messages | grep "IPTABLES TCP-IN:" | more

可用適當(dāng)修改為自己服務(wù)器環(huán)境的適當(dāng)配置扯夭,寫入文件鳍贾,可以直接如下命令做寫入防火墻

  [root@DB01 ~]#vim  iptables.new
  [root@DB01 ~]# iptables-restore < iptables.new

如果多臺(tái)服務(wù)器,防火墻策略一樣交洗,可以設(shè)置完一臺(tái),做個(gè)備份橡淑,文件拷貝新的服務(wù)器還原即可

   [root@DB01 ~]# iptables-save > iptables.bak
   [root@DB01 ~]# scp iptables.bak DB02:/root
   [root@DB02 ~]# iptables-restore < iptables.bak
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末构拳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌置森,老刑警劉巖斗埂,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異凫海,居然都是意外死亡呛凶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門行贪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漾稀,“玉大人,你說我怎么就攤上這事建瘫≌负矗” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵啰脚,是天一觀的道長(zhǎng)殷蛇。 經(jīng)常有香客問我,道長(zhǎng)橄浓,這世上最難降的妖魔是什么粒梦? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮荸实,結(jié)果婚禮上谍倦,老公的妹妹穿的比我還像新娘。我一直安慰自己泪勒,他們只是感情好昼蛀,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著圆存,像睡著了一般叼旋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沦辙,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天夫植,我揣著相機(jī)與錄音,去河邊找鬼油讯。 笑死详民,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的陌兑。 我是一名探鬼主播沈跨,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼兔综!你這毒婦竟也來了饿凛?” 一聲冷哼從身側(cè)響起狞玛,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涧窒,沒想到半個(gè)月后心肪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纠吴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年硬鞍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戴已。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡固该,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出恭陡,到底是詐尸還是另有隱情蹬音,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布休玩,位于F島的核電站著淆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拴疤。R本人自食惡果不足惜永部,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呐矾。 院中可真熱鬧苔埋,春花似錦、人聲如沸蜒犯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽罚随。三九已至玉工,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淘菩,已是汗流浹背遵班。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留潮改,地道東北人狭郑。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像汇在,于是被迫代替她去往敵國和親翰萨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344