aide pour "mon script" iptables

aide pour "mon script" iptables - Linux et OS Alternatifs

Marsh Posté le 24-11-2001 à 23:14:12    

Je me suis basé sur le rc.firewall.iptables.dual -- Version 1.2b2 de http://www.sentry.net/~obsid/

Code :
  1. #!/bin/sh
  2. ##################################################################
  3. #
  4. ## rc.firewall.iptables.dual -- Version 1.2b2
  5. #
  6. ##################################################################
  7. ## Obsid@sentry.net
  8. ## http://www.sentry.net/~obsid/
  9. ## 04/28/01
  10. ## Example IPTables 1.2.1 script for a dual-homed firewall.
  11. ## This script has not yet been tested thoroughly on a dual-homed
  12. ## firewall. If you find any problems, please drop me an email.
  13. ## Current versions and documentation are available at
  14. ## http://www.sentry.net/~obsid/IPTab [...] r/current/
  15. ## Visit one of the NetFilter Project Home Pages for more information about IPTables.
  16. ## http://netfilter.filewatcher.org/
  17. ## http://netfilter.samba.org/
  18. ## More Resources:
  19. ## http://netfilter.filewatcher.org/netfilter-faq.html
  20. ## http://netfilter.filewatcher.org/u [...] index.html
  21. ## http://netfilter.filewatcher.org/u [...] index.html
  22. ## http://netfilter.filewatcher.org/u [...] index.html
  23. ## http://www.ds9a.nl/2.4Routing/HOWT [...] uting.html
  24. ## Variables ##
  25. IPTABLES="/sbin/iptables" ## Default IPTables >= v. 1.2.0
  26. LOOPBACK="lo"   ## Loopback Interface
  27. EXTERNAL="eth1"   ## External Interface
  28. INTERNAL="eth0"   ## Internal Interface
  29. INTERNAL_NET="192.168.0.0/24" ## Network address for the internal network
  30.    INT_IP="192.168.0.1" ## IP Address of Internal Interface
  31. ## INT_IP=`ifconfig $INTERNAL | grep inet | cut -d : -f 2 | cut -d \  -f 1`
  32.    EXT_IP="212.68.*.*"  ## IP Address(es) of External Interface   ##*.* je masque exprès
  33. #                   ## (This variable not used at this time).
  34. ## EXT_IP=`ifconfig $EXTERNAL | grep inet | cut -d : -f 2 | cut -d \  -f 1`
  35. LOG_LEVEL="notice"  ## Default log level: kern.notice
  36. ## Attempt to Flush All Rules in Filter Table
  37. $IPTABLES -F
  38. ## Flush Built-in Rules
  39. $IPTABLES -F INPUT
  40. $IPTABLES -F OUTPUT
  41. $IPTABLES -F FORWARD
  42. ## Flush Rules/Delete User Chains in Mangle Table, if any
  43. $IPTABLES -F -t mangle
  44. $IPTABLES -t mangle -X
  45. ## Delete all user-defined chains, reduces dumb warnings if you run
  46. ## this script more than once.
  47. $IPTABLES -X
  48. ## Set Default Policies
  49. $IPTABLES -P INPUT DROP  ## Highly Recommended Default Policy
  50. $IPTABLES -P OUTPUT DROP
  51. $IPTABLES -P FORWARD ACCEPT
  52. ## Reserved/Private IP Addresses ##
  53.    ## The following was adapted from Jean-Sebastien Morisset's excellent IPChains
  54.    ## firewall script, available at -- http://jsmoriss.mvlan.net/linux/rcf.html
  55.    ## See DOCUMENTATION for optimization notes.
  56.    RESERVED_NET="
  57. 0.0.0.0/8 1.0.0.0/8 2.0.0.0/8 \
  58. 5.0.0.0/8 \
  59. 7.0.0.0/8 \
  60. 23.0.0.0/8 \
  61. 27.0.0.0/8 \
  62. 31.0.0.0/8 \
  63. 36.0.0.0/8 37.0.0.0/8 \
  64. 39.0.0.0/8 \
  65. 41.0.0.0/8 42.0.0.0/8 \
  66. 58.0.0.0/8 59.0.0.0/8 60.0.0.0/8 \
  67. 67.0.0.0/8 68.0.0.0/8 69.0.0.0/8 70.0.0.0/8 71.0.0.0/8 72.0.0.0/8 73.0.0.0/8 \
  68. 74.0.0.0/8 75.0.0.0/8 76.0.0.0/8 77.0.0.0/8 78.0.0.0/8 79.0.0.0/8 \
  69. 82.0.0.0/8 83.0.0.0/8 84.0.0.0/8 85.0.0.0/8 86.0.0.0/8 87.0.0.0/8 \
  70. 88.0.0.0/8 89.0.0.0/8 90.0.0.0/8 91.0.0.0/8 92.0.0.0/8 93.0.0.0/8 94.0.0.0/8 \
  71. 95.0.0.0/8 96.0.0.0/8 97.0.0.0/8 98.0.0.0/8 99.0.0.0/8 100.0.0.0/8 101.0.0.0/8 \
  72. 102.0.0.0/8 103.0.0.0/8 104.0.0.0/8 105.0.0.0/8 106.0.0.0/8 107.0.0.0/8 \
  73. 108.0.0.0/8 109.0.0.0/8 110.0.0.0/8 111.0.0.0/8 112.0.0.0/8 113.0.0.0/8 \
  74. 114.0.0.0/8 115.0.0.0/8 116.0.0.0/8 117.0.0.0/8 118.0.0.0/8 119.0.0.0/8 \
  75. 120.0.0.0/8 121.0.0.0/8 122.0.0.0/8 123.0.0.0/8 124.0.0.0/8 125.0.0.0/8 \
  76. 126.0.0.0/8 127.0.0.0/8 \
  77. 197.0.0.0/8 \
  78. 201.0.0.0/8 \
  79. 219.0.0.0/8 220.0.0.0/8 221.0.0.0/8 222.0.0.0/8 223.0.0.0/8 \
  80. 240.0.0.0/8 241.0.0.0/8 242.0.0.0/8 243.0.0.0/8 244.0.0.0/8 245.0.0.0/8 \
  81. 246.0.0.0/8 247.0.0.0/8 248.0.0.0/8 249.0.0.0/8 250.0.0.0/8 251.0.0.0/8 \
  82. 252.0.0.0/8 253.0.0.0/8 254.0.0.0/8 255.0.0.0/8"
  83. ## More variables further down near the NAT rules.
  84. ## NOTE: User-defined chains first, regular INPUT/OUTPUT chains will follow.
  85. ###############################################################################
  86. ## Special Chains
  87. ##################################################
  88. #############################
  89. ##################################################
  90. #############################
  91. ## Special chain KEEP_STATE to handle incoming, outgoing, and
  92. ## established connections.
  93. $IPTABLES -N KEEP_STATE
  94. $IPTABLES -F KEEP_STATE
  95.    ##------------------------------------------------------------------------##
  96.    ## DROP packets associated with an "INVALID" connection.
  97. $IPTABLES -A KEEP_STATE -m state --state INVALID -j DROP
  98.    ##------------------------------------------------------------------------##
  99.    ##------------------------------------------------------------------------##
  100.    ## UNCLEAN match target, somewhat experimental at this point.
  101. #        $IPTABLES -A KEEP_STATE -m unclean -j DROP
  102.    ##------------------------------------------------------------------------##
  103.    ##------------------------------------------------------------------------##
  104.    ## ACCEPT packets which are related to an established connection.
  105. $IPTABLES -A KEEP_STATE -m state --state RELATED,ESTABLISHED -j ACCEPT
  106.    ##------------------------------------------------
  107. ------------------------##
  108. ##################################################
  109. #############################
  110. ## Special chain CHECK_FLAGS that will DROP and log TCP packets with certain
  111. ## TCP flags set.
  112.   ## We set some limits here to limit the amount of crap that gets sent to the logs.
  113.   ## Keep in mind that these rules should never match normal traffic, they
  114.   ## are designed to capture obviously messed up packets... but there's alot of
  115.   ## wierd shit out there, so who knows.
  116. $IPTABLES -N CHECK_FLAGS
  117. $IPTABLES -F CHECK_FLAGS
  118.    ##------------------------------------------------------------------------##
  119.    ## NMAP FIN/URG/PSH
  120. $IPTABLES -A CHECK_FLAGS -p tcp --tcp-flags ALL FIN,URG,PSH -m limit \
  121.  --limit 5/minute -j LOG --log-level $LOG_LEVEL --log-prefix "NMAP-XMAS:"
  122. $IPTABLES -A CHECK_FLAGS -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
  123.    ##------------------------------------------------------------------------##
  124.    ##------------------------------------------------------------------------##
  125.    ## SYN/RST
  126. $IPTABLES -A CHECK_FLAGS -p tcp --tcp-flags SYN,RST SYN,RST -m limit \
  127.  --limit 5/minute -j LOG --log-level $LOG_LEVEL --log-prefix "SYN/RST:"
  128. $IPTABLES -A CHECK_FLAGS -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  129.    ##------------------------------------------------------------------------##
  130.    ##------------------------------------------------------------------------##
  131.    ## SYN/FIN -- Scan(probably)
  132. $IPTABLES -A CHECK_FLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit \
  133.  --limit 5/minute -j LOG --log-level $LOG_LEVEL --log-prefix "SYN/FIN:"
  134. $IPTABLES -A CHECK_FLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
  135.    ##------------------------------------------------------------------------##
  136.    ##------------------------------------------------------------------------##
  137.    ## Make some types of port scans annoyingly slow, also provides some
  138.    ## protection against certain DoS attacks. The rule in chain KEEP_STATE
  139.    ## referring to the INVALID state should catch most TCP packets with the
  140.    ## RST or FIN bits set that aren't associate with an established connection.
  141.    ## Still, these will limit the amount of stuff that is accepted through our
  142.    ## open ports(if any).  I suggest you test these for your configuration before
  143.    ## you uncomment them, as they could cause problems.
  144. # $IPTABLES -A CHECK_FLAGS -m limit --limit 5/second -p tcp --tcp-flags ALL RST -j ACCEPT
  145. # $IPTABLES -A CHECK_FLAGS -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -j ACCEPT
  146. # $IPTABLES -A CHECK_FLAGS -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -j ACCEPT
  147.    ##------------------------------------------------
  148. ------------------------##
  149. ##################################################
  150. #############################
  151. ## Special Chain DENY_PORTS
  152. ## This chain will DROP/LOG packets based on port number.
  153. $IPTABLES -N DENY_PORTS
  154. $IPTABLES -F DENY_PORTS
  155.         ##------------------------------------------------------------------------##
  156. ## DROP TCP packets based on port number.
  157. ## See DOCUMENTATION for explanation of these example port numbers.
  158.    DENIED_PORTS_TCP="137:139 2049 6000:6063 \
  159.   20034 12345:12346 27374 27665 \
  160.   27444 31335 10498 12754"
  161.    for PORT in $DENIED_PORTS_TCP; do
  162.  $IPTABLES -A DENY_PORTS -p tcp --dport $PORT -m limit --limit 5/minute \
  163.   -j LOG --log-level $LOG_LEVEL --log-prefix "DENIED PORT:"
  164.  $IPTABLES -A DENY_PORTS -p tcp --sport $PORT -m limit --limit 5/minute \
  165.   -j LOG --log-level $LOG_LEVEL --log-prefix "DENIED PORT:"
  166.  $IPTABLES -A DENY_PORTS -p tcp --dport $PORT -j DROP
  167.  $IPTABLES -A DENY_PORTS -p tcp --sport $PORT -j DROP
  168.    done
  169.         ##------------------------------------------------------------------------##
  170.         ##------------------------------------------------------------------------##
  171. ## DROP UDP packets based on port number.
  172. ## See DOCUMENTATION for explanation of these example port numbers.
  173.    DENIED_PORTS_UDP="2049 31337 27444 31335 10498"
  174.    for PORT in $DENIED_PORTS_UDP; do
  175.  $IPTABLES -A DENY_PORTS -p udp --dport $PORT -m limit --limit 5/minute \
  176.   -j LOG --log-level $LOG_LEVEL --log-prefix "DENIED PORT:"
  177.  $IPTABLES -A DENY_PORTS -p udp --sport $PORT -m limit --limit 5/minute \
  178.   -j LOG --log-level $LOG_LEVEL --log-prefix "DENIED PORT:"
  179.  $IPTABLES -A DENY_PORTS -p udp --dport $PORT -j DROP
  180.  $IPTABLES -A DENY_PORTS -p udp --sport $PORT -j DROP
  181.    done
  182.         ##------------------------------------------------
  183. ------------------------##
  184. ##################################################
  185. #############################
  186. ## Special Chain ALLOW_PORTS
  187. ## Rules to allow packets based on port number. This sort of thing is generally
  188. ## required only if you're running services on(!!!) the firewall or if you have a
  189. ## FORWARD policy of DROP(which we don't right now).
  190. $IPTABLES -N ALLOW_PORTS
  191. $IPTABLES -F ALLOW_PORTS
  192.    ##------------------------------------------------------------------------##
  193.    ## ACCEPT TCP traffic based on port number. (Examples)
  194. # TCP_PORTS="ssh domain"
  195. TCP_PORTS="22 53 21 80 6667"
  196. for PORT in $TCP_PORTS; do
  197.  $IPTABLES -A ALLOW_PORTS -m state --state NEW -p tcp \
  198.   --dport $PORT -j ACCEPT
  199. done
  200.    ##------------------------------------------------------------------------##
  201.    ## ACCEPT UDP traffic based on port number.
  202. # UDP_PORTS="domain"
  203. UDP_PORTS="53"
  204. for PORT in $UDP_PORTS; do
  205.  $IPTABLES -A ALLOW_PORTS -m state --state NEW -p udp \
  206.   --dport $PORT -j ACCEPT
  207. done
  208.    ##------------------------------------------------------------------------##
  209.    ## REJECT port 113 ident requests.
  210. $IPTABLES -A ALLOW_PORTS -p tcp --dport 113 -j REJECT \
  211.  --reject-with tcp-reset
  212.    ##------------------------------------------------
  213. ------------------------##
  214. ##################################################
  215. #############################
  216. ## Special Chain ALLOW_ICMP
  217. ## This chain contains rules to allow/drop specific types of ICMP datagrams.
  218. $IPTABLES -N ALLOW_ICMP
  219. $IPTABLES -F ALLOW_ICMP
  220.      ##------------------------------------------------------------------------##
  221.      ## Echo Reply (pong)
  222. $IPTABLES -A ALLOW_ICMP -p icmp --icmp-type echo-reply -j ACCEPT
  223.      ##------------------------------------------------------------------------##
  224.      ##------------------------------------------------------------------------##
  225.      ## Destination Unreachable
  226. $IPTABLES -A ALLOW_ICMP -p icmp --icmp-type destination-unreachable \
  227.  -j ACCEPT
  228.      ##------------------------------------------------------------------------##
  229.      ##------------------------------------------------------------------------##
  230.      ## Echo Request (ping) -- Several Options:
  231.         ## Accept Pings ##
  232.  $IPTABLES -A ALLOW_ICMP -p icmp --icmp-type echo-request -j ACCEPT
  233. ## Accept Pings at the rate of one per second ##
  234. #  $IPTABLES -A ALLOW_ICMP -p icmp --icmp-type echo-request \
  235. #   -m limit --limit 1/second -j ACCEPT
  236. ## LOG all pings ##
  237. #        $IPTABLES -A ALLOW_ICMP -p icmp --icmp-type echo-request \
  238. #   -m limit --limit 5/minute -j LOG --log-level $LOG_LEVEL \
  239. #   --log-prefix "PING:"
  240.      ##------------------------------------------------------------------------##
  241.      ##------------------------------------------------------------------------##
  242.      ## TTL Exceeded (traceroute)
  243. $IPTABLES -A ALLOW_ICMP -p icmp --icmp-type time-exceeded -j ACCEPT
  244.      ##------------------------------------------------
  245. ------------------------##
  246. ##################################################
  247. #############################
  248. ## Special Chain SRC_EGRESS
  249. ## Rules to Provide Egress Filtering Based on Source IP Address.
  250. $IPTABLES -N SRC_EGRESS
  251. $IPTABLES -F SRC_EGRESS
  252.    ##------------------------------------------------------------------------##
  253.    ## DROP all reserved private IP addresses.  Some of these may be legit
  254.    ## for certain networks and configurations.  For connection problems,
  255.    ## traceroute is your friend.
  256. ## Class A Reserved
  257. $IPTABLES -A SRC_EGRESS -s 10.0.0.0/8 -j DROP
  258. ## Class B Reserved
  259. $IPTABLES -A SRC_EGRESS -s 172.16.0.0/12 -j DROP
  260. ## Class C Reserved
  261. $IPTABLES -A SRC_EGRESS -s 192.168.0.0/16 -j DROP
  262. ## Class D Reserved
  263. $IPTABLES -A SRC_EGRESS -s 224.0.0.0/4 -j DROP
  264. ## Class E Reserved
  265. $IPTABLES -A SRC_EGRESS -s 240.0.0.0/5 -j DROP
  266. for NET in $RESERVED_NET; do
  267.     $IPTABLES -A SRC_EGRESS -s $NET -j DROP
  268. done
  269.    ##------------------------------------------------
  270. ------------------------##
  271. ##################################################
  272. #############################
  273. ## Special Chain DST_EGRESS
  274. ## Rules to Provide Egress Filtering Based on Destination IP Address.
  275. $IPTABLES -N DST_EGRESS
  276. $IPTABLES -F DST_EGRESS
  277.    ##------------------------------------------------------------------------##
  278.    ## DROP all reserved private IP addresses.  Some of these may be legit
  279.    ## for certain networks and configurations.  For connection problems,
  280.    ## traceroute is your friend.
  281. ## Class A Reserved
  282. $IPTABLES -A DST_EGRESS -d 10.0.0.0/8 -j DROP
  283. ## Class B Reserved
  284. $IPTABLES -A DST_EGRESS -d 172.16.0.0/12 -j DROP
  285. ## Class C Reserved
  286. $IPTABLES -A DST_EGRESS -d 192.168.0.0/16 -j DROP
  287. ## Class D Reserved
  288. $IPTABLES -A DST_EGRESS -d 224.0.0.0/4 -j DROP
  289. ## Class E Reserved
  290. $IPTABLES -A DST_EGRESS -d 240.0.0.0/5 -j DROP
  291. for NET in $RESERVED_NET; do
  292.     $IPTABLES -A DST_EGRESS -d $NET -j DROP
  293. done
  294.    ##------------------------------------------------
  295. ------------------------##
  296. ##################################################
  297. #############################
  298. ## Special Chain MANGLE_OUTPUT
  299. ## Mangle values of packets created locally.  Only TOS values are mangled right
  300. ## now.
  301.    ## TOS stuff: (type: iptables -m tos -h)
  302.    ## Minimize-Delay 16 (0x10)
  303.    ## Maximize-Throughput 8 (0x08)
  304.    ## Maximize-Reliability 4 (0x04)
  305.    ## Minimize-Cost 2 (0x02)
  306.    ## Normal-Service 0 (0x00)
  307. $IPTABLES -t mangle -N MANGLE_OUTPUT
  308. $IPTABLES -t mangle -F MANGLE_OUTPUT
  309.    ##------------------------------------------------------------------------------##
  310.    ##   - Most of these are the RFC 1060/1349 suggested TOS values, yours might vary.
  311.    ##   - To view mangle table, type: iptables -L -t mangle
  312. $IPTABLES -t mangle -A MANGLE_OUTPUT -p tcp --dport 20 -j TOS --set-tos 8
  313. $IPTABLES -t mangle -A MANGLE_OUTPUT -p tcp --dport 21 -j TOS --set-tos 16
  314. $IPTABLES -t mangle -A MANGLE_OUTPUT -p tcp --dport 22 -j TOS --set-tos 16
  315. $IPTABLES -t mangle -A MANGLE_OUTPUT -p tcp --dport 23 -j TOS --set-tos 16
  316. $IPTABLES -t mangle -A MANGLE_OUTPUT -p tcp --dport 25 -j TOS --set-tos 16
  317. $IPTABLES -t mangle -A MANGLE_OUTPUT -p tcp --dport 53 -j TOS --set-tos 16
  318. $IPTABLES -t mangle -A MANGLE_OUTPUT -p udp --dport 53 -j TOS --set-tos 16
  319. $IPTABLES -t mangle -A MANGLE_OUTPUT -p tcp --dport 80 -j TOS --set-tos 8
  320.    ##------------------------------------------------
  321. ------------------------------##
  322. ##################################################
  323. #############################
  324. ## Special Chain MANGLE_PREROUTING
  325. ## Rules to mangle TOS values of packets routed through the firewall.  Only TOS
  326. ## values are mangled right now.
  327.    ## TOS stuff: (type: iptables -m tos -h)
  328.    ## Minimize-Delay 16 (0x10)
  329.    ## Maximize-Throughput 8 (0x08)
  330.    ## Maximize-Reliability 4 (0x04)
  331.    ## Minimize-Cost 2 (0x02)
  332.    ## Normal-Service 0 (0x00)
  333. $IPTABLES -t mangle -N MANGLE_PREROUTING
  334. $IPTABLES -t mangle -F MANGLE_PREROUTING
  335.    ##-------------------------------------------------------------------------------##
  336.    ##   - Most of these are the RFC 1060/1349 suggested TOS values, yours might vary.
  337.    ##   - To view mangle table, type: iptables -L -t mangle
  338. $IPTABLES -t mangle -A MANGLE_PREROUTING -p tcp --dport 20 -j TOS --set-tos 8
  339. $IPTABLES -t mangle -A MANGLE_PREROUTING -p tcp --dport 21 -j TOS --set-tos 16
  340. $IPTABLES -t mangle -A MANGLE_PREROUTING -p tcp --dport 22 -j TOS --set-tos 16
  341. $IPTABLES -t mangle -A MANGLE_PREROUTING -p tcp --dport 23 -j TOS --set-tos 16
  342. $IPTABLES -t mangle -A MANGLE_PREROUTING -p tcp --dport 25 -j TOS --set-tos 16
  343. $IPTABLES -t mangle -A MANGLE_PREROUTING -p tcp --dport 53 -j TOS --set-tos 16
  344. $IPTABLES -t mangle -A MANGLE_PREROUTING -p udp --dport 53 -j TOS --set-tos 16
  345. $IPTABLES -t mangle -A MANGLE_PREROUTING -p tcp --dport 80 -j TOS --set-tos 8
  346.    ##------------------------------------------------
  347. -------------------------------##
  348. ##################################################
  349. #############################
  350. ## Firewall Input Chains
  351. ##################################################
  352. #############################
  353. ##################################################
  354. #############################
  355. ## New chain for input to the external interface
  356. $IPTABLES -N EXTERNAL_INPUT
  357. $IPTABLES -F EXTERNAL_INPUT
  358.    ##------------------------------------------------------------------------##
  359.    ## Hated Hosts -- Block hosts/subnets(Example)
  360. # $IPTABLES -A EXTERNAL_INPUT -i $EXTERNAL -s 123.123.123.0/24 -j DROP
  361.    ##------------------------------------------------------------------------##
  362.    ##------------------------------------------------------------------------##
  363.    ## Check TCP packets coming in on the external interface for wierd flags
  364. $IPTABLES -A EXTERNAL_INPUT -i $EXTERNAL -p tcp -j CHECK_FLAGS
  365.    ##------------------------------------------------------------------------##
  366.    ##------------------------------------------------------------------------##
  367.    ## Filter incoming packets based on port number.
  368. $IPTABLES -A EXTERNAL_INPUT -i $EXTERNAL -p ! icmp -j DENY_PORTS
  369.    ##------------------------------------------------
  370. ------------------------##
  371. ##################################################
  372. #############################
  373. ## New chain for input to the internal interface
  374. $IPTABLES -N INTERNAL_INPUT
  375. $IPTABLES -F INTERNAL_INPUT
  376.    ##------------------------------------------------------------------------##
  377.    ## DROP anything not coming from the internal network.
  378. $IPTABLES -A INTERNAL_INPUT -i $INTERNAL -s ! $INTERNAL_NET -j DROP
  379.    ##------------------------------------------------------------------------##
  380.    ##------------------------------------------------------------------------##
  381.    ## Check TCP packets coming in on the external interface for wierd flags.
  382. $IPTABLES -A INTERNAL_INPUT -i $INTERNAL -p tcp -j CHECK_FLAGS
  383.    ##------------------------------------------------------------------------##
  384.    ##------------------------------------------------------------------------##
  385.    ## DROP/LOG packets based on port number.
  386. $IPTABLES -A INTERNAL_INPUT -i $INTERNAL -p ! icmp -j DENY_PORTS
  387.    ##------------------------------------------------
  388. ------------------------##
  389. ##################################################
  390. #############################
  391. ## New chain for input to the loopback interface
  392. $IPTABLES -N LO_INPUT
  393. $IPTABLES -F LO_INPUT
  394.    ##------------------------------------------------------------------------##
  395.    ## Accept packets to the loopback interface.
  396. $IPTABLES -A LO_INPUT -i $LOOPBACK -j ACCEPT
  397.    ##------------------------------------------------
  398. ------------------------##
  399. ##################################################
  400. #############################
  401. ## Firewall Output Chains
  402. ##################################################
  403. #############################
  404. ##################################################
  405. #############################
  406. ## New chain for output from the external interface
  407. $IPTABLES -N EXTERNAL_OUTPUT
  408. $IPTABLES -F EXTERNAL_OUTPUT
  409.    ##------------------------------------------------------------------------##
  410.    ## Check TCP packets coming in on the external interface for wierd flags.
  411. $IPTABLES -A EXTERNAL_OUTPUT -o $EXTERNAL -p tcp -j CHECK_FLAGS
  412.    ##------------------------------------------------------------------------##
  413.    ##------------------------------------------------------------------------##
  414.    ## Filter outgoing packets based on port number.
  415. $IPTABLES -A EXTERNAL_OUTPUT -o $EXTERNAL -p ! icmp -j DENY_PORTS
  416.    ##------------------------------------------------
  417. ------------------------##
  418. ##################################################
  419. #############################
  420. ## New chain for output across the internal interface
  421. $IPTABLES -N INTERNAL_OUTPUT
  422. $IPTABLES -F INTERNAL_OUTPUT
  423.    ##------------------------------------------------------------------------##
  424.    ## DROP packets not destined for the internal network.
  425. $IPTABLES -A INTERNAL_OUTPUT -o $INTERNAL -d ! $INTERNAL_NET -j DROP
  426.    ##------------------------------------------------------------------------##
  427.    ##------------------------------------------------------------------------##
  428.    ## Filter outgoing packets based on port number.
  429. $IPTABLES -A INTERNAL_OUTPUT -o $INTERNAL -p ! icmp -j DENY_PORTS
  430.    ##------------------------------------------------------------------------##
  431.    ##------------------------------------------------------------------------##
  432.    ## Check TCP packets going out on the internal interface for wierd flags.
  433. $IPTABLES -A INTERNAL_OUTPUT -o $INTERNAL -p tcp -j CHECK_FLAGS
  434.    ##------------------------------------------------
  435. ------------------------##
  436. ##################################################
  437. #############################
  438. ## New chain for output across the loopback device
  439. $IPTABLES -N LO_OUTPUT
  440. $IPTABLES -F LO_OUTPUT
  441.    ##------------------------------------------------------------------------##
  442.    ## ACCEPT all traffic across loopback device
  443. $IPTABLES -A LO_OUTPUT -o $LOOPBACK -j ACCEPT
  444.    ##------------------------------------------------
  445. ------------------------##
  446. ##################################################
  447. #############################
  448. ## Main Stuff
  449. ###############################################################################
  450. ## This is where we get to jump to our user-defined chains from the built-in
  451. ## chains.
  452.    ##========================================================================##
  453.    ## Jump to the mangle table rules.
  454. $IPTABLES -t mangle -A OUTPUT -o $EXTERNAL -j MANGLE_OUTPUT
  455. $IPTABLES -t mangle -A PREROUTING -i $INTERNAL -j MANGLE_PREROUTING
  456.    ##========================================================================##
  457.    ##========================================================================##
  458.    ## LOG and DROP TCP packets with no flags set.
  459.    ## Possible NULL scan.
  460. $IPTABLES -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE \
  461.  -m limit --limit 5/minute -j LOG --log-level $LOG_LEVEL \
  462.  --log-prefix "NULL SCAN:" --log-tcp-options --log-ip-options
  463. $IPTABLES -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP
  464.    ##========================================================================##
  465.    ##========================================================================##
  466.    ## Jump to our INPUT chains.
  467.         ##===================================================================##
  468. ## INPUT to our loopback interface.
  469.    ## Jump to our LO_INPUT Chain.
  470.  $IPTABLES -A INPUT -i $LOOPBACK -j LO_INPUT
  471.         ##===================================================================##
  472.         ##===================================================================##
  473. ## INPUT to our internal interface.
  474.    ## DROP packets not destined for the internal IP address of the
  475.    ## firewall.
  476.  $IPTABLES -A INPUT -i $INTERNAL -d ! $INT_IP -j DROP
  477.    ## Jump to our INTERNAL_INPUT Chain.
  478.  $IPTABLES -A INPUT -i $INTERNAL -j INTERNAL_INPUT
  479.    ## DROP/ACCEPT packets based on the state of the connection.
  480.  $IPTABLES -A INPUT -i $INTERNAL -j KEEP_STATE
  481.    ## ACCEPT packets based on port number.
  482.  $IPTABLES -A INPUT -i $INTERNAL -s $INTERNAL_NET -d $INT_IP \
  483.   -p ! icmp -j ALLOW_PORTS
  484.    ## Jump to ALLOW_ICMP for general rules relating to the ICMP protocol.
  485.  $IPTABLES -A INPUT -i $INTERNAL -p icmp -j ALLOW_ICMP
  486.         ##===================================================================##
  487.         ##===================================================================##
  488. ## INPUT to the external Interface
  489.    ## Filter out Reserved/Private IP addresses based on source IP.
  490.  $IPTABLES -A INPUT -i $EXTERNAL -j SRC_EGRESS
  491.    ## Filter out Reserved/Private IP addresses based on destination IP.
  492.  $IPTABLES -A INPUT -i $EXTERNAL -j DST_EGRESS
  493.    ## Jump to our EXTERNAL_INPUT Chain.
  494.  $IPTABLES -A INPUT -i $EXTERNAL -j EXTERNAL_INPUT
  495.    ## DROP/ACCEPT packets based on the state of the connection.
  496.  $IPTABLES -A INPUT -i $EXTERNAL -j KEEP_STATE
  497.    ## Allow Packets On Certain External Ports.
  498.  $IPTABLES -A INPUT -i $EXTERNAL -p ! icmp -j ALLOW_PORTS
  499.    ## Jump to ALLOW_ICMP for general rules relating to the ICMP protocol.
  500.  $IPTABLES -A INPUT -i $EXTERNAL -p icmp -j ALLOW_ICMP
  501.         ##===================================================================##
  502.    ## End INPUT Chain Rules ##
  503.    ##========================================================================##
  504.    ##========================================================================##
  505.    ## Jump to our OUTPUT chains.
  506.         ##===================================================================##
  507. ## OUTPUT on the loopback interface.
  508.    ## Jump to our LO_OUTPUT Chain.
  509.  $IPTABLES -A OUTPUT -o $LOOPBACK -j LO_OUTPUT
  510.         ##===================================================================##
  511.         ##===================================================================##
  512. ## OUTPUT on the internal interface.
  513.    ## Jump to our INTERNAL_OUTPUT Chain.
  514.  $IPTABLES -A OUTPUT -o $INTERNAL -j INTERNAL_OUTPUT
  515.    ## DROP anything not coming from the firewall.
  516.  $IPTABLES -A OUTPUT -o $INTERNAL -s ! $INT_IP -j DROP
  517.    ## Jump to the KEEP_STATE chain for generic state-based packet filtering.
  518.  $IPTABLES -A OUTPUT -o $INTERNAL -j KEEP_STATE
  519.    ## ACCEPT NEW connections from the firewall to the internal network.
  520.  $IPTABLES -A OUTPUT -o $INTERNAL -s $INT_IP \
  521.   -d $INTERNAL_NET -m state --state NEW -j ACCEPT
  522.         ##===================================================================##
  523.         ##===================================================================##
  524. ## OUTPUT on the external interface
  525.    ## Filter out Reserved/Private IP addresses based on source IP.
  526.  $IPTABLES -A OUTPUT -o $EXTERNAL -j SRC_EGRESS
  527.    ## Filter out Reserved/Private IP addresses based on destination IP.
  528.  $IPTABLES -A OUTPUT -o $EXTERNAL -j DST_EGRESS
  529.    ## Jump to our EXTERNAL_OUTPUT Chain.
  530.  $IPTABLES -A OUTPUT -o $EXTERNAL -j EXTERNAL_OUTPUT
  531.    ## Jump to the KEEP_STATE chain for generic state-based packet filtering.
  532.  $IPTABLES -A OUTPUT -o $EXTERNAL -j KEEP_STATE
  533.    ## Accept outgoing packets establishing a NEW connection.
  534.  $IPTABLES -A OUTPUT -o $EXTERNAL -m state --state NEW -j ACCEPT
  535.         ##===================================================================##
  536.    ## End OUTPUT Chain Rules ##
  537.    ##========================================================================##
  538.    ##========================================================================##
  539.    ## Jump to our FORWARD chains.
  540.         ##===================================================================##
  541. ## Jump to our (INTERFACE)_INPUT/OUTPUT Chains.
  542.  $IPTABLES -A FORWARD -i $EXTERNAL -j EXTERNAL_INPUT
  543.  $IPTABLES -A FORWARD -i $INTERNAL -j INTERNAL_INPUT
  544.  $IPTABLES -A FORWARD -o $EXTERNAL -j EXTERNAL_OUTPUT
  545.  $IPTABLES -A FORWARD -o $INTERNAL -j INTERNAL_OUTPUT
  546.         ##===================================================================##
  547.         ##===================================================================##
  548. ## More rules to DROP stuff.
  549.    ##----------------------------------------------------------------##
  550.    ## DROP any attempted NEW connections to the internal network.
  551.  $IPTABLES -A FORWARD -i $EXTERNAL -d $INTERNAL_NET -m state \
  552.   --state NEW -j DROP
  553.    ##----------------------------------------------------------------##
  554.    ##----------------------------------------------------------------##
  555.    ## DROP any outbound traffic to the internal network that is trying to
  556.    ## establish a NEW connection.
  557.  $IPTABLES -A FORWARD -o $INTERNAL -d $INTERNAL_NET \
  558.   -m state --state NEW -j DROP
  559.    ##----------------------------------------------------------------##
  560.    ##----------------------------------------------------------------##
  561.    ## DROP echo reply packets coming into the internal interface.
  562.  $IPTABLES -A FORWARD -o $INTERNAL -p icmp --icmp-type echo-request \
  563.   -j DROP
  564.    ##----------------------------------------------------------------##
  565.         ##===================================================================##
  566.         ##===================================================================##
  567. ## Egress Stuff
  568. ## NOTE: Some of these rules will break things if you're redirecting
  569. ## connections to another port, rather than simply routing between
  570. ## the external and internal network.
  571.    ##----------------------------------------------------------------##
  572.    ## DROP anything not headed for the internal network.
  573.  $IPTABLES -A FORWARD -i $EXTERNAL -d ! $INTERNAL_NET -j DROP
  574.    ## Filter out Reserved/Private IP addresses based on Source IP.
  575.  $IPTABLES -A FORWARD -i $EXTERNAL -j SRC_EGRESS
  576.  $IPTABLES -A FORWARD -o $EXTERNAL -s ! $INTERNAL_NET -j SRC_EGRESS
  577.    ## Filter out Reserved/Private IP addresses based on destination IP.
  578.  $IPTABLES -A FORWARD -o $EXTERNAL -j DST_EGRESS
  579.    ##----------------------------------------------------------------##
  580.    ##----------------------------------------------------------------##
  581.    ## Filter out Reserved/Private IP addresses based on Destination IP.
  582.  $IPTABLES -A FORWARD -i $INTERNAL -j DST_EGRESS
  583.  $IPTABLES -A FORWARD -o $INTERNAL -j SRC_EGRESS
  584.    ##----------------------------------------------------------------##
  585. ## End Egress Stuff ##
  586.         ##===================================================================##
  587.         ##===================================================================##
  588. ## ACCEPT some stuff.
  589. ## Basic State Based Rules.
  590.  $IPTABLES -A FORWARD -j KEEP_STATE
  591. ## Accept outgoing packets establishing a NEW connection.
  592.  $IPTABLES -A FORWARD -o $EXTERNAL -m state --state NEW -j ACCEPT
  593. ## Jump to ALLOW_ICMP for general rules relating to the ICMP protocol.
  594.  $IPTABLES -A FORWARD -p icmp -j ALLOW_ICMP
  595.         ##===================================================================##
  596.    ## End FORWARD Chain Rules ##
  597.    ##========================================================================##
  598. ### END FIREWALL RULES ###
  599. ##------------------------------------------------------------------------##
  600. ## I generally prefer to keep the NAT stuff in a separate file called     ##
  601. ## rc.firewall.nat, which is why alot of these variables are declared     ##
  602. ## again here, but that's just me.                                        ##
  603. ##------------------------------------------------
  604. ------------------------##
  605. ##################################################
  606. #############################
  607. ## IPTABLES Network Address Translation(NAT) Rules
  608. ###############################################################################
  609. ## Variables ##
  610. #IPTABLES="/usr/local/sbin/iptables"
  611. #EXTERNAL="eth0"   # External Interface
  612. #INTERNAL="eth1"   # Internal Interface
  613. #INTERNAL_NET="192.168.1.0/24"
  614. #EXT_IP="123.123.123.123" # IP address of the External Interface.
  615. #EXT_IP=`ifconfig $EXTERNAL | grep inet | cut -d : -f 2 | cut -d \  -f 1`
  616. ## Flush the NAT table.
  617. $IPTABLES -F -t nat
  618. ###############################################################################
  619. ## Destination NAT -- (DNAT)
  620.    ##========================================================================##
  621.    ## "Redirect" packets headed for certain ports on our external interface
  622.    ## to other machines on the network. (Examples)
  623.       ##------------------------------------------------------------------------##
  624.       ## SSH
  625. # $IPTABLES -t nat -A PREROUTING -i $EXTERNAL -p tcp -d $EXT_IP --dport 22 \
  626. #  -j DNAT --to-destination 192.168.69.69:22
  627.       ##------------------------------------------------------------------------##
  628.       ##------------------------------------------------------------------------##
  629.       ## WWW
  630. # $IPTABLES -t nat -A PREROUTING -i $EXTERNAL -p tcp -d $EXT_IP --dport 80 \
  631. #  -j DNAT --to-destination 192.168.69.69:80
  632.       ##------------------------------------------------------------------------##
  633.       ## Redirect telnet to irc
  634. $IPTABLES -A PREROUTING -t nat -p tcp -d $EXT_IP --dport 23 \
  635.          -j DNAT --to $EXT_IP:6667
  636.    ##================================================
  637. ========================##
  638. ##################################################
  639. #############################
  640. ## Source NAT -- (SNAT/Masquerading)
  641.      ## Source NAT allows us to "masquerade" our internal machines behind our
  642.      ## firewall. (Examples)
  643.    ##========================================================================##
  644.    ## Static IP address ##
  645. # $IPTABLES -t nat -A POSTROUTING -o $EXTERNAL -s $INTERNAL_NET \
  646. #  -j SNAT --to-source $EXT_IP
  647.    ##========================================================================##
  648.    ##========================================================================##
  649.    ## Dynamic IP address ##
  650. # $IPTABLES -t nat -A POSTROUTING -o $EXTERNAL -s $INTERNAL_NET \
  651. #  -j MASQUERADE
  652.    ##========================================================================##
  653. ### END NAT RULES ###
  654. ###############################################################################
  655. ## Additional Kernel Configuration
  656. ###############################################################################
  657.    ## Adjust for your requirements/preferences.
  658.    ## For more information regarding the options below see the resources
  659.    ## listed at the top of the script or the Documentation that comes with
  660.    ## the Linux Kernel source.
  661.    ## For Example: linux/Documentation/filesystems/proc.txt
  662.    ##              linux/Documentation/networking/ip-sysctl.txt
  663.    ##========================================================================##
  664.    ## Set the maximum number of connections to track. (Kernel Default: 2048)
  665. if [ -e /proc/sys/net/ipv4/ip_conntrack_max ]; then
  666.     echo "4096" > /proc/sys/net/ipv4/ip_conntrack_max
  667. fi
  668.    ##========================================================================##
  669.    ##========================================================================##
  670.    ## Local port range for TCP/UDP connections
  671. if [ -e /proc/sys/net/ipv4/ip_local_port_range ]; then
  672.     echo -e "32768\t61000" > /proc/sys/net/ipv4/ip_local_port_range
  673. fi
  674.    ##========================================================================##
  675.    ##========================================================================##
  676.    ## Disable TCP Explicit Congestion Notification Support
  677. # if [ -e /proc/sys/net/ipv4/tcp_ecn ]; then
  678. #  echo "0" > /proc/sys/net/ipv4/tcp_ecn
  679. # fi
  680.    ##========================================================================##
  681.    ##========================================================================##
  682.    ## Disable source routing of packets
  683. if [ -e /proc/sys/net/ipv4/conf/all/accept_source_route ]; then
  684.  for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
  685.      echo "0" > $i;
  686.  done
  687. fi
  688.    ##========================================================================##
  689.    ##========================================================================##
  690.    ## Enable rp_filter
  691. if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
  692.  for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
  693.   echo "1" > $i;
  694.  done
  695. fi
  696.    ##========================================================================##
  697.    ##========================================================================##
  698.    ## Ignore any broadcast icmp echo requests
  699. if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]; then
  700.  echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  701. fi
  702.    ##========================================================================##
  703.    ##========================================================================##
  704.    ## Ignore all icmp echo requests on all interfaces
  705. # if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_all ]; then
  706. #  echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
  707. # fi
  708.    ##========================================================================##
  709.    ##========================================================================##
  710.    ## Log packets with impossible addresses to kernel log.
  711. if [ -e /proc/sys/net/ipv4/conf/all/log_martians ]; then
  712.  echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
  713. fi
  714.    ##========================================================================##
  715.    ##========================================================================##
  716.    ## Don't accept ICMP redirects
  717. ## Disable on all interfaces
  718. # if [ -e /proc/sys/net/ipv4/conf/all/accept_redirects ]; then
  719. #  echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
  720. # fi
  721. ## Disable only on the external interface.
  722. if [ -e /proc/sys/net/ipv4/conf/$EXTERNAL/accept_redirects ]; then
  723.  echo "0" > /proc/sys/net/ipv4/conf/$EXTERNAL/accept_redirects
  724. fi
  725.    ##========================================================================##
  726.    ##========================================================================##
  727.    ## Additional options for dialup connections with a dynamic ip address
  728.    ## See: linux/Documentation/networking/ip_dynaddr.txt
  729. # if [ -e /proc/sys/net/ipv4/ip_dynaddr ]; then
  730. #  echo "1" > /proc/sys/net/ipv4/ip_dynaddr
  731. # fi
  732.    ##========================================================================##
  733.    ##========================================================================##
  734.    ## Enable IP Forwarding
  735. if [ -e /proc/sys/net/ipv4/ip_forward ]; then
  736.  echo "1" > /proc/sys/net/ipv4/ip_forward
  737. else
  738.  echo "Uh oh: /proc/sys/net/ipv4/ip_forward does not exist"
  739.  echo "(That may be a problem)"
  740.  echo
  741. fi
  742.    ##========================================================================##


Le prob est que mes clients locaux n'ont plus accès à rien (ssh, www, etc...)
Ma paserelle fait serveur web, ftp, sshd, ircd, dns, mysql, smtp, pop3 et webmin (10000). Ca fait bcp et c'est pour ca que je voudrais sécuriser tout cà...
Le firewall dont j'ai besoin doit au minimum sécuriser le serveur, les clients sont moins importants.
Merci bcp d'avance pour votre aide

Reply

Marsh Posté le 24-11-2001 à 23:14:12   

Reply

Marsh Posté le 25-11-2001 à 01:23:06    

met déjà EXTERNAL="ppp0"
comme ça ton EXT_IP=`ifconfig $EXTERNAL | grep inet | cut -d : -f 2 | cut -d \  -f 1` fonctionnera et te donnera l'ip de ton interface ppp0 au lancement du script (ton ip externe)
 
décommente pour masquer ton ip vis-à-vis de l'extérieur.
$IPTABLES -t nat -A POSTROUTING -o $EXTERNAL -s $INTERNAL_NET \  
          -j SNAT --to-source $EXT_IP
 
Sinon, il y a trop de choses à modifier.  Faut comprendre en détail ce qu'il fait, et c'est pas évident.
Comme tu offres des services au réseau qui ne sont pas les mêmes que ceux que tu offres à internet, tu vas devoir créer des nouvelles chaînes.
Les chaines à garder de toute façon sont KEEP_STATE, CHECK_FLAGS, DST_EGRESS, et SRC_EGRESS.
 
voici ce que j'ai fais pour moi :
à la base je sépare le traffic et je délègue chque type de traffic à une chaine particulière.
 
LAN_IP="192.168.0.0/24"
 
#règles qui concernent le traffic réseau -> internet
$IPTABLES -N NETWORK_2_INTERNET
$IPTABLES -F NETWORK_2_INTERNET
...
 
#règles qui concernent le traffic réseau -> paserelle
$IPTABLES -N NETWORK_2_GATEWAY
$IPTABLES -F NETWORK_2_GATEWAY
...
 
#règles qui concernent le traffic internet -> paserelle
$IPTABLES -N INTERNET_2_GATEWAY
$IPTABLES -F INTERNET_2_GATEWAY
...
 
#règles qui concernent le traffic internet -> réseau
$IPTABLES -N INTERNET_2_NETWORK
$IPTABLES -F INTERNET_2_NETWORK
...
 
#règles qui concernent le traffic passerelle -> Internet
$IPTABLES -N GATEWAY_2_INTERNET
$IPTABLES -F GATEWAY_2_INTERNET
...
 
#règles qui concernent le traffic passerelle -> réseau
$IPTABLES -N GATEWAY_2_NETWORK
$IPTABLES -F GATEWAY_2_NETWORK
...
#---------------------------------------------------
#application des chaines.
$IPTABLES -A INPUT -i $LOOPBACK -j ACCEPT
$IPTABLES -A INPUT -i $LAN_IF -j NETWORK_2_GATEWAY
$IPTABLES -A INPUT -i $EXT_IF -j INTERNET_2_GATEWAY
 
$IPTABLES -A OUTPUT -o $LOOPBACK -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN_IF -j GATEWAY_2_NETWORK
$IPTABLES -A OUTPUT -o $EXT_IF -j GATEWAY_2_INTERNET
 
$IPTABLES -A FORWARD -i $EXT_IF -j INTERNET_2_NETWORK
$IPTABLES -A FORWARD -o $EXT_IF -j NETWORK_2_INTERNET
 
avec ça c'est déjà un bon début puisque tu sépares bien le traffic réseau.  donc, tu sais que si tu veux autoriser qq sur internet à accéder à ton site internet sur ton serveur, tu devras ajouter une règle dans INTERNET_2_GATEWAY pour l'autoriser à se connecter et ajouter une règle dans GATEWAY_2_INTERNET pour autoriser ta passerelle à lui renvoyer les infos (ce qui est fait automatiquement avec le KEEP_STATE)
 
pour chaque type de traffic:  
- tu élimines d'abord les cas dangeureux (genre ipspoofing, adresse invalides (SRC_EGRESS), les ports que tu veux protéger (DENY_PORTS),...)
- puis tu utilises KEEP_STATE pour accepeter les connections qui sont établies (comme elles sont établies c'est que tu les as permises et que tu leur fais confiance, donc veilles bien à n'accepter que ce que tu veux comme connection)
- puis tu accèptes les nouvelles connections
- puis tu tries les icmps.
 
je sais que ça va te sembler hard, mais une fois que tu auras compris, ça va aller comme sur des roulettes ;)
Faire ça te fera perdre bcp moins de temps que de comprendre ce script en plus !! :)

Reply

Marsh Posté le 25-11-2001 à 18:32:44    

merci beaucoup de tes conseils, je savais que tu répondrais ;)
 
pkoi ppp0 ? Je suis par le cable avec une ip fixe...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed